diff --git a/webapps/images/core/alpha.gif b/webapps/images/core/alpha.gif new file mode 100644 index 00000000000..ab8c332af94 Binary files /dev/null and b/webapps/images/core/alpha.gif differ diff --git a/webapps/images/core/blank.gif b/webapps/images/core/blank.gif new file mode 100644 index 00000000000..75b945d2553 Binary files /dev/null and b/webapps/images/core/blank.gif differ diff --git a/webapps/images/core/brightness.jpg b/webapps/images/core/brightness.jpg new file mode 100644 index 00000000000..008984d1c7d Binary files /dev/null and b/webapps/images/core/brightness.jpg differ diff --git a/webapps/images/core/brightnesshandle.gif b/webapps/images/core/brightnesshandle.gif new file mode 100644 index 00000000000..7cf80222afa Binary files /dev/null and b/webapps/images/core/brightnesshandle.gif differ diff --git a/webapps/images/core/dotted.gif b/webapps/images/core/dotted.gif new file mode 100644 index 00000000000..467da46f255 Binary files /dev/null and b/webapps/images/core/dotted.gif differ diff --git a/webapps/images/core/huesaturation.jpg b/webapps/images/core/huesaturation.jpg new file mode 100644 index 00000000000..36d2d799d96 Binary files /dev/null and b/webapps/images/core/huesaturation.jpg differ diff --git a/webapps/images/core/huesaturationhandle.gif b/webapps/images/core/huesaturationhandle.gif new file mode 100644 index 00000000000..2fcaaece176 Binary files /dev/null and b/webapps/images/core/huesaturationhandle.gif differ diff --git a/webapps/images/favicon.ico b/webapps/images/favicon.ico new file mode 100644 index 00000000000..ef903bacfe8 Binary files /dev/null and b/webapps/images/favicon.ico differ diff --git a/webapps/images/linkpad.gif b/webapps/images/linkpad.gif new file mode 100644 index 00000000000..613b4f55ef3 Binary files /dev/null and b/webapps/images/linkpad.gif differ diff --git a/webapps/images/logo.png b/webapps/images/logo.png new file mode 100644 index 00000000000..6df4ace6595 Binary files /dev/null and b/webapps/images/logo.png differ diff --git a/webapps/images/stripes.png b/webapps/images/stripes.png new file mode 100644 index 00000000000..5c5941ff380 Binary files /dev/null and b/webapps/images/stripes.png differ diff --git a/webapps/index.esp b/webapps/index.esp new file mode 100644 index 00000000000..1924e402105 --- /dev/null +++ b/webapps/index.esp @@ -0,0 +1,30 @@ +<% page_header("columns", "Server Status", "main"); + libinclude("base.js"); + libinclude("management.js"); + libinclude("provision.js"); + + if (install_ok(session.authinfo.session_info, session.authinfo.credentials) == false) { + redirect("/install/"); + } + +%> + +

Server Status

+ +<% +var servers = new Array("nbt_server", "smb_server", "ldap_server", "cldap_server", "kdc_server"); +var i; +var info = new Object(); + +info["NBT Server"] = server_status("nbt"); +info["WINS Server"] = server_status("wins"); +info["CLDAP Server"] = server_status("cldap"); +info["Kerberos Server"] = server_status("kdc"); +info["SMB Server"] = stream_server_status("smb"); +info["LDAP Server"] = stream_server_status("ldap"); +info["RPC Server"] = stream_server_status("rpc"); + +simple_table(info); +%> + +<% page_footer(); %> diff --git a/webapps/install/index.esp b/webapps/install/index.esp new file mode 100644 index 00000000000..5a73b7751f8 --- /dev/null +++ b/webapps/install/index.esp @@ -0,0 +1,20 @@ +<% page_header("columns", "Server Installation", "install"); +%> + +

Installation

+ +Welcome to Samba4 installation. Before proceeding, you will need to +know: + + + +After you have decided on those, choose the 'Provisioning' menu item +on the left, and fill in the form.

+ +Warning! When you provision, your existing user database is +wiped and replaced with a new one. + +<% page_footer(); %> diff --git a/webapps/install/newuser.esp b/webapps/install/newuser.esp new file mode 100644 index 00000000000..1b341ff6653 --- /dev/null +++ b/webapps/install/newuser.esp @@ -0,0 +1,50 @@ +<% page_header("columns", "Add a user", "install"); + + include("/scripting/forms.js"); + libinclude("base.js"); + libinclude("provision.js"); +%> + +

Add a user

+ +<% +var f = FormObj("newuser", 0, 2); +var i; +var rand = random_init(); + +f.add("USERNAME", "User Name"); +f.add("UNIXNAME", "Unix Name"); +f.add("PASSWORD", "Password", "password"); +f.add("CONFIRM", "Confirm Password", "password"); +f.submit[0] = "Add"; +f.submit[1] = "Cancel"; + +if (form['submit'] == "Cancel") { + redirect("/"); +} + + +if (form['submit'] == "Add" && + form.USERNAME != undefined) { + var goodpass = (form.CONFIRM == form.PASSWORD); + + if (!goodpass) { + write("

Passwords don't match. Please try again.

"); + f.display(); + } else { + if (form.UNIXNAME == undefined) { + form.UNIXNAME = form.USERNAME; + } + if (form.PASSWORD == undefined) { + form.PASSWORD = rand.randpass(); + } + newuser(form.USERNAME, form.UNIXNAME, form.PASSWORD, writefln, + session.authinfo.session_info, session.authinfo.credentials); + } +} else { + f.display(); +} +%> + + +<% page_footer(); %> diff --git a/webapps/install/provision.esp b/webapps/install/provision.esp new file mode 100644 index 00000000000..ee9673d507f --- /dev/null +++ b/webapps/install/provision.esp @@ -0,0 +1,79 @@ +<% page_header("columns", "Provisioning", "install"); + + include("/scripting/forms.js"); + libinclude("base.js"); + libinclude("provision.js"); +%> + +

Samba4 provisioning

+ +<% +var f = FormObj("Provisioning", 0, 2); +var i; +var lp = loadparm_init(); + +if (lp.get("realm") == "") { + lp.set("realm", lp.get("workgroup") + ".example.com"); +} + + +var subobj = provision_guess(); +/* Don't supply default password for web interface */ +subobj.ADMINPASS = ""; + +f.add("REALM", "DNS Domain Name"); +f.add("DOMAIN", "NetBIOS Domain Name"); +f.add("HOSTNAME", "Hostname"); +f.add("ADMINPASS", "Administrator Password", "password"); +f.add("CONFIRM", "Confirm Password", "password"); +f.add("DOMAINSID", "Domain SID"); +f.add("HOSTIP", "Host IP"); +f.add("DEFAULTSITE", "Default Site"); +f.submit[0] = "Provision"; +f.submit[1] = "Cancel"; + +if (form['submit'] == "Cancel") { + redirect("/"); +} + +if (form['submit'] == "Provision") { + for (r in form) { + subobj[r] = form[r]; + } +} + +for (i=0;iPasswords don't match. Please try again."); + f.display(); + } else if (subobj.ADMINPASS == "") { + write("

You must choose an administrator password. Please try again.

"); + f.display(); + } else if (!provision_validate(subobj, writefln)) { + f.display(); + } else { + var paths = provision_default_paths(subobj); + if (!provision(subobj, writefln, false, paths, + session.authinfo.session_info, session.authinfo.credentials)) { + writefln("Provision failed!"); + } else if (!provision_dns(subobj, writefln, paths, + session.authinfo.session_info, session.authinfo.credentials)) { + writefln("DNS Provision failed!"); + } else { + writefln("Provision Complete!"); + } + } +} else { + f.display(); +} +%> + + +<% page_footer(); %> diff --git a/webapps/install/samba3.esp b/webapps/install/samba3.esp new file mode 100644 index 00000000000..31857c01e93 --- /dev/null +++ b/webapps/install/samba3.esp @@ -0,0 +1,106 @@ +<% page_header("columns", "Upgrade", "install"); + + /* frontend to Samba3 upgrade. + Based on provision.esp + (C) Jelmer Vernooij 2005 + Published under the GNU GPL + */ + + include("/scripting/forms.js"); + libinclude("base.js"); + libinclude("provision.js"); + libinclude("upgrade.js"); +%> + +

Import from Samba3

+ +<% +if (form['submit'] == "Cancel") { + redirect("/"); +} + +function confirm_form() +{ + var samba3 = samba3_read(form['LIBDIR'], form['SMBCONF']); + + var subobj = upgrade_provision(samba3); + var f = FormObj("Import from Samba3", 0, 2); + subobj.ADMINPASS = ""; + + f.add("REALM", "Realm"); + f.add("DOMAIN", "Domain Name"); + f.add("HOSTNAME", "Hostname"); + f.add("ADMINPASS", "Administrator Password", "password"); + f.add("CONFIRM", "Confirm Password", "password"); + f.add("DOMAINSID", "Domain SID"); + f.add("HOSTGUID", "Host GUID"); + f.add("HOSTIP", "Host IP"); + f.add("DEFAULTSITE", "Default Site"); + + for (i=0;iPasswords don't match. Please try again."); + confirm_form(); + } else if (subobj.ADMINPASS == "") { + write("

You must choose an administrator password. Please try again.

"); + confirm_form(); + } else { + var paths = provision_default_paths(subobj); + if (!provision(subobj, writefln, true, paths, + session.authinfo.session_info, session.authinfo.credentials)) { + writefln("Provision failed!"); + } else { + var ret = upgrade(subobj,samba3,message,paths, + session.authinfo.session_info, session.authinfo.credentials); + if (ret > 0) { + writefln("Failed to import %d entries\n", ret); + } else { + if (!provision_dns(subobj, writefln, paths, + session.authinfo.session_info, session.authinfo.credentials)) { + writefln("DNS Provision failed!"); + } else { + writefln("Reloading smb.conf\n"); + var lp = loadparm_init(); + lp.reload(); + writefln("Upgrade Complete!"); + } + } + } + } +} else { + var f = FormObj("Import from Samba3", 0, 2); + + f.add("SMBCONF", "smb.conf file", "text", "/etc/samba/smb.conf"); + f.add("LIBDIR", "Lib directory", "text", "/var/lib/samba"); + f.submit[0] = "Import"; + f.submit[1] = "Cancel"; + + write('

Warning: This will erase your current configuration!

'); + f.display(); +} +%> + +<% page_footer(); %> diff --git a/webapps/install/vampire.esp b/webapps/install/vampire.esp new file mode 100644 index 00000000000..9ce874cd186 --- /dev/null +++ b/webapps/install/vampire.esp @@ -0,0 +1,120 @@ +<% page_header("columns", "Windows to Samba Migration", "install"); + + include("/scripting/forms.js"); + libinclude("base.js"); + libinclude("provision.js"); + + var misc = misc_init(); +%> + +

Windows to Samba4 domain migration

+ +<% +var f = FormObj("Provisioning", 0, 2); +var i; +var lp = loadparm_init(); + +if (lp.get("realm") == "") { + lp.set("realm", lp.get("workgroup") + ".example.com"); +} + + +var subobj = provision_guess(); +/* Don't supply default password for web interface */ +subobj.ADMINPASS = ""; + +f.add("REALM", "DNS Domain Name"); +f.add("DOMAIN", "NetBIOS Domain Name"); +f.add("ADMIN", "Administrator Username"); +f.add("ADMINPASS", "Administrator Password", "password"); +f.add("HOSTNAME", "My Hostname"); +f.add("HOSTIP", "My Host's IP"); +f.add("DEFAULTSITE", "Default Site"); +f.submit[0] = "Migrate"; +f.submit[1] = "Cancel"; + +if (form['submit'] == "Cancel") { + redirect("/"); +} + +if (form['submit'] == "Migrate") { + for (r in form) { + subobj[r] = form[r]; + } +} + +for (i=0;iWe need the administrator password for the " + subobj.DOMAIN + " domain to proceed. Please try again."); + f.display(); + } else if (!provision_validate(subobj, writefln)) { + f.display(); + } else if (strupper(lp.get("server role")) == "PDC") { + writefln("You need to set 'server role' to 'member server' before starting the migration process"); + } else { + var creds = credentials_init(); + var samdb; + creds.set_username(form.ADMIN); + creds.set_password(form.ADMINPASS); + creds.set_domain(form.DOMAIN); + creds.set_realm(form.REALM); + + var info = new Object(); + var paths = provision_default_paths(subobj); + var session_info = session.authinfo.session_info; + var credentials = session.authinfo.credentials; + + info.credentials = credentials; + info.session_info = session_info; + info.message = writefln; + info.subobj = subobj; + + /* Setup a basic database structure, but don't setup any users */ + if (!provision(subobj, writefln, true, paths, + session_info, credentials)) { + writefln("Provision failed!"); + + /* Join domain */ + } else if (!join_domain(form.DOMAIN, form.HOSTNAME, misc.SEC_CHAN_BDC, creds, writefln)) { + writefln("Domain Join failed!"); + + /* Vampire */ + } else if (!vampire(form.DOMAIN, session.authinfo.session_info, + session.authinfo.credentials, writefln)) { + writefln("Failed to syncronsise remote domain into local database!"); + } else if (!provision_dns(subobj, writefln, paths, + session.authinfo.session_info, session.authinfo.credentials)) { + writefln("DNS Provision failed!"); + } else if (!(samdb = open_ldb(info, paths.samdb, false))) { + writefln("Opening " + paths.samdb + " failed!"); + info.samdb = samdb; + } else if (!setup_name_mappings(info, samdb)) { + writefln("Setup of name mappings failed!"); + } else { + var zonepath = paths.dns; + %> +

Database migrated!

+ +You need to do the following to complete the process: + +
    +
  • Install the @@zonepath zone file into your bind install, and restart bind +
  • Change your smb.conf to set "server role = pdc" +
  • Shutdown your existing PDC and any other DCs +
  • Restart smbd +
+ <% + } + } +} else { + f.display(); +} +%> + + +<% page_footer(); %> diff --git a/webapps/login.esp b/webapps/login.esp new file mode 100644 index 00000000000..8d6c049d02d --- /dev/null +++ b/webapps/login.esp @@ -0,0 +1,59 @@ +<% page_header("plain", "SWAT Login", ""); + libinclude("auth.js"); + include("/scripting/forms.js"); + +if (request['SESSION_EXPIRED'] == "True") { + write("Your session has expired - please authenticate again
\n"); +} + +var f = FormObj("login", 3, 1); +f.element[0].label = "Username"; +f.element[0].value = form['Username']; +f.element[1].label = "Password"; +f.element[1].value = form['Password']; +f.element[1].type = "password"; +f.element[2].label = "Domain"; +f.element[2].type = "select"; +f.element[2].list = getDomainList(); +f.submit[0] = "Login"; + +f.display(); +%> + +<% + if (request.REQUEST_METHOD == "POST") { + var creds = credentials_init(); + creds.set_username(form.Username); + creds.set_password(form.Password); + creds.set_domain(form.Domain); + creds.set_workstation(request['REMOTE_HOST']); + + auth = userAuth(creds, request['REMOTE_SOCKET_ADDRESS']); + if (auth == undefined) { + write("Invalid login - please try again
\n"); + } else if (auth.result) { + session.AUTHENTICATED = true; + session.authinfo = new Object(); + + session.authinfo.username = auth.username; + session.authinfo.domain = auth.domain; + session.authinfo.credentials = creds; + session.authinfo.session_info = auth.session_info; + + /* if the user was asking for the login page, then now + redirect them to the main page. Otherwise just + redirect them to the current page, which will now + show its true content */ + if (request.REQUEST_URI == "/login.esp") { + redirect(session_uri("/")); + } else { + redirect(session_uri(request.REQUEST_URI)); + } + } else if (auth.report == undefined) { + write("Login failed - please try again
\n"); + } else { + write("Login failed: " + auth.report + " - please try again
\n"); + } + } +%> +<% page_footer(); %> diff --git a/webapps/logout.esp b/webapps/logout.esp new file mode 100644 index 00000000000..d0d971d9627 --- /dev/null +++ b/webapps/logout.esp @@ -0,0 +1,8 @@ +<% +page_header("plain", "Logging out", ""); + +session.AUTHENTICATED = false; +redirect("/login.esp"); + +page_footer(); +%> diff --git a/webapps/menu.js b/webapps/menu.js new file mode 100644 index 00000000000..f752c1febce --- /dev/null +++ b/webapps/menu.js @@ -0,0 +1,67 @@ +/* + the menu hierarchy for SWAT +*/ + +include("/scripting/menus.js"); + +swat_menus = new Object(); + +swat_menus.main = simple_menu( + "Main Menu", + "Servers", session_uri("/?menu=servers"), + "Installation", session_uri("/install/"), + "ESP Tests", session_uri("/esptest/"), + "Preview of new SWAT",session_uri("/index.html")); + +swat_menus.servers = simple_menu( + "Servers", + "LDAP Server", session_uri("/ldap_server/"), + "CLDAP Server", session_uri("/cldap_server/"), + "RPC Server", session_uri("/rpc_server/"), + "NBT Server", session_uri("/nbt_server/"), + "WINS Server", session_uri("/wins_server/"), + "Kerberos Server", session_uri("/kdc_server/")); + +swat_menus.esptest = simple_menu( + "ESP Tests", + "ldb database", session_uri("/esptest/ldb.esp"), + "samr calls", session_uri("/esptest/samr.esp"), + "html forms", session_uri("/esptest/formtest.esp"), + "esp includes", session_uri("/esptest/include.esp"), + "session variables", session_uri("/esptest/session.esp"), + "loadparm access", session_uri("/esptest/loadparm.esp"), + "exception handling", session_uri("/esptest/exception.esp"), + "environment variables", session_uri("/esptest/showvars.esp"), + "registry", session_uri("/esptest/registry.esp")); + +swat_menus.json = simple_menu( + "JSON Tests", + "ldb browser", session_uri("/apps/samba/utils/ldbbrowse.html"), + "admin console", session_uri("/apps/samba/utils/admin_console.html")); + + +swat_menus.install = simple_menu( + "Installation", + "Provisioning", session_uri("/install/provision.esp"), + "New User", session_uri("/install/newuser.esp"), + "Import from Samba3", session_uri("/install/samba3.esp"), + "Import from Windows", session_uri("/install/vampire.esp")); + + +swat_menus.nbt_server = simple_menu( + "NBT Server", + "Statistics", session_uri("/nbt_server/index.esp")); + + +swat_menus.docs = simple_menu( + "Links", + "Samba4 development", "http://devel.samba.org/", + "Recent Checkins", "http://build.samba.org/?tree=samba4;function=Recent+Checkins", + "Recent Builds", "http://build.samba.org/?tree=samba4;function=Recent+Builds", + "EJS Information", "http://www.appwebserver.org/products/ejs/ejs.html", + "ESP Information", "http://www.appwebserver.org/products/esp/esp.html", + "XHTML Spec", "http://www.w3.org/TR/xhtml1/", + "JavaScript Spec", "http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf", + "CSS Specs", "http://www.w3.org/Style/CSS/#specs", + "CSS1/2 Reference", "http://www.w3schools.com/css/css_reference.asp"); + diff --git a/webapps/qooxdoo-0.6.3-sdk/AUTHORS b/webapps/qooxdoo-0.6.3-sdk/AUTHORS new file mode 100644 index 00000000000..da3a56b974e --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/AUTHORS @@ -0,0 +1,2 @@ +Please point your browser to: +http://qooxdoo.org/about/developers diff --git a/webapps/qooxdoo-0.6.3-sdk/LICENSE b/webapps/qooxdoo-0.6.3-sdk/LICENSE new file mode 100644 index 00000000000..b1e3f5a2638 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/webapps/qooxdoo-0.6.3-sdk/README b/webapps/qooxdoo-0.6.3-sdk/README new file mode 100644 index 00000000000..5da218aad36 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/README @@ -0,0 +1,2 @@ +Please point your browser to: +http://qooxdoo.org/documentation/user_manual diff --git a/webapps/qooxdoo-0.6.3-sdk/RELEASENOTES b/webapps/qooxdoo-0.6.3-sdk/RELEASENOTES new file mode 100644 index 00000000000..232d4e0cca6 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/RELEASENOTES @@ -0,0 +1,2 @@ +Please point your browser to: +http://qooxdoo.org/about/release_notes diff --git a/webapps/qooxdoo-0.6.3-sdk/TODO b/webapps/qooxdoo-0.6.3-sdk/TODO new file mode 100644 index 00000000000..7884daaa092 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/TODO @@ -0,0 +1,2 @@ +Please point your browser to: +http://qooxdoo.org/community/bugs diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/Makefile b/webapps/qooxdoo-0.6.3-sdk/frontend/Makefile new file mode 100644 index 00000000000..4b40fedbb84 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/Makefile @@ -0,0 +1,294 @@ +################################################################################### +# VARIABLES +################################################################################### + +VERSION = 0.6.3 + +NICE=10 +NICE_CALL = nice -n $(NICE) + +RELEASE_BUILD_UNIX = release/temp/build/unix/qooxdoo-$(VERSION)-build +RELEASE_BUILD_DOS = release/temp/build/dos/qooxdoo-$(VERSION)-build + +RELEASE_SDK_UNIX = release/temp/sdk/unix/qooxdoo-$(VERSION)-sdk +RELEASE_SDK_DOS = release/temp/sdk/dos/qooxdoo-$(VERSION)-sdk + +FIX_FILES = -name "*.py" -o -name "*.sh" -o -name "*.js" -o -name "*.html" -o -name "*.css" -o -name "*.xml" -o -name Makefile -o -name AUTHORS -o -name LICENSE -o -name README -o -name RELEASENOTES -o -name TODO + +RSYNC_BUILD_OPT = --recursive --archive --delete +RSYNC_SDK_OPT = $(RSYNC_BUILD_OPT) --exclude script --exclude .svn + +RSYNC_BUILD_EXEC = @$(NICE_CALL) rsync $(RSYNC_BUILD_OPT) +RSYNC_SDK_EXEC = @$(NICE_CALL) rsync $(RSYNC_SDK_OPT) + +ANY2DOS = | xargs framework/tool/modules/textutil.py --command any2Dos +ANY2UNIX = | xargs framework/tool/modules/textutil.py --command any2Unix + + + +################################################################################### +# DEFAULT TARGET +################################################################################### + +all: build + + + +################################################################################### +# COMMON TARGETS +################################################################################### + +build: + @$(MAKE) -C api build + @$(MAKE) -C demo build + @$(MAKE) -C framework build + +source: + @$(MAKE) -C api source + @$(MAKE) -C demo source + @$(MAKE) -C framework source + +api-build: + @$(MAKE) -C api build + +demo-build: + @$(MAKE) -C demo build + +framework-build: + @$(MAKE) -C framework build + +api-source: + @$(MAKE) -C api source + +demo-source: + @$(MAKE) -C demo source + +framework-source: + @$(MAKE) -C framework source + +skeleton-archives: + @$(MAKE) -C skeleton archives + +demo-sync: + @$(MAKE) -C demo sync + +api-sync: + @$(MAKE) -C api sync + +framework-debug: + @$(MAKE) -C framework debug + + + +################################################################################### +# CLEANUP TARGETS +################################################################################### + +clean: + @echo + @echo " CLEANUP OF GENERATED FILES" + @echo "----------------------------------------------------------------------------" + @$(MAKE) -C api clean + @$(MAKE) -C demo clean + @$(MAKE) -C framework clean + @$(MAKE) -C skeleton clean + +realclean: + @echo + @echo " CLEANUP OF GENERATED FILES (REAL)" + @echo "----------------------------------------------------------------------------" + @echo " * Deleting files..." + @$(MAKE) -C api realclean + @$(MAKE) -C demo realclean + @$(MAKE) -C framework realclean + @$(MAKE) -C skeleton realclean + + @echo " * Deleting release temp data..." + @$(NICE_CALL) rm -rf release/temp + +distclean: + @echo + @echo " CLEANUP OF GENERATED FILES (DIST)" + @echo "----------------------------------------------------------------------------" + @echo " * Deleting files..." + @$(MAKE) -C api distclean + @$(MAKE) -C demo distclean + @$(MAKE) -C framework distclean + @$(MAKE) -C skeleton distclean + + @echo " * Deleting cache..." + @$(NICE_CALL) rm -rf .cache + + @echo " * Deleting release archives..." + @$(NICE_CALL) rm -rf release + + + + + + +################################################################################### +# RELEASE TARGETS +################################################################################### + +release: release-build release-sdk +release-fast: release-build-fast release-sdk-fast + + + + +release-build: build release-build-fast +release-build-fast: release-build-sync release-build-compress + +release-build-sync: + @echo + @echo " SYNCHRONISATION OF UNIX BUILD RELEASE" + @echo "----------------------------------------------------------------------------" + + @echo " * Copying info files..." + @mkdir -p $(RELEASE_BUILD_UNIX) + @find ../ -maxdepth 1 -type f -name "[A-Z]*" -exec cp -f {} $(RELEASE_BUILD_UNIX) \; + + @echo " * Synchronizing Unix build folders..." + @mkdir -p $(RELEASE_BUILD_UNIX)/frontend/api + $(RSYNC_BUILD_EXEC) api/build/* $(RELEASE_BUILD_UNIX)/frontend/api + @mkdir -p $(RELEASE_BUILD_UNIX)/frontend/demo + $(RSYNC_BUILD_EXEC) demo/build/* $(RELEASE_BUILD_UNIX)/frontend/demo + @mkdir -p $(RELEASE_BUILD_UNIX)/frontend/framework + $(RSYNC_BUILD_EXEC) framework/build/* $(RELEASE_BUILD_UNIX)/frontend/framework + + @echo " * Fixing line-breaks..." + @$(NICE_CALL) find $(RELEASE_BUILD_UNIX) $(FIX_FILES) $(ANY2UNIX) + + @echo + @echo " SYNCHRONISATION OF DOS BUILD RELEASE" + @echo "----------------------------------------------------------------------------" + + @echo " * Copying info files..." + @mkdir -p $(RELEASE_BUILD_DOS) + @find ../ -maxdepth 1 -type f -name "[A-Z]*" -exec cp -f {} $(RELEASE_BUILD_DOS) \; + + @echo " * Synchronizing DOS build folders..." + @mkdir -p $(RELEASE_BUILD_DOS)/frontend/api + $(RSYNC_BUILD_EXEC) api/build/* $(RELEASE_BUILD_DOS)/frontend/api + @mkdir -p $(RELEASE_BUILD_DOS)/frontend/demo + $(RSYNC_BUILD_EXEC) demo/build/* $(RELEASE_BUILD_DOS)/frontend/demo + @mkdir -p $(RELEASE_BUILD_DOS)/frontend/framework + $(RSYNC_BUILD_EXEC) framework/build/* $(RELEASE_BUILD_DOS)/frontend/framework + + @echo " * Fixing line-breaks..." + @$(NICE_CALL) find $(RELEASE_BUILD_DOS) $(FIX_FILES) $(ANY2DOS) + +release-build-compress: + @echo + @echo " COMPRESSION OF BUILD RELEASE" + @echo "----------------------------------------------------------------------------" + + @echo " * Generating gzip (Unix) archive..." + @cd release/temp/build/unix; rm -f qooxdoo-$(VERSION)-build.tar.gz; $(NICE_CALL) tar cfzp ../../../qooxdoo-$(VERSION)-build.tar.gz qooxdoo-$(VERSION)-build + + @echo " * Generating zip (DOS) archive..." + @cd release/temp/build/dos; rm -f qooxdoo-$(VERSION)-build.zip; $(NICE_CALL) zip -rq ../../../qooxdoo-$(VERSION)-build.zip qooxdoo-$(VERSION)-build + + + + + + + +release-sdk: source skeleton-archives release-sdk-fast +release-sdk-fast: release-sdk-sync release-sdk-compress + +release-sdk-sync: + @echo + @echo " SYNCHRONISATION OF UNIX SDK RELEASE" + @echo "----------------------------------------------------------------------------" + + @echo " * Copying info files..." + @mkdir -p $(RELEASE_SDK_UNIX) + @find ../ -maxdepth 1 -type f -name "[A-Z]*" -exec cp -f {} $(RELEASE_SDK_UNIX) \; + + @echo " * Copying Makefiles..." + @mkdir -p $(RELEASE_SDK_UNIX)/frontend + @cp -f Makefile $(RELEASE_SDK_UNIX)/frontend + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/api + @cp -f api/Makefile $(RELEASE_SDK_UNIX)/frontend/api + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/demo + @cp -f demo/Makefile $(RELEASE_SDK_UNIX)/frontend/demo + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/framework + @cp -f framework/Makefile $(RELEASE_SDK_UNIX)/frontend/framework + + @echo " * Synchronizing source folders..." + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/api/source + $(RSYNC_SDK_EXEC) api/source/* $(RELEASE_SDK_UNIX)/frontend/api/source + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/demo/source + $(RSYNC_SDK_EXEC) demo/source/* $(RELEASE_SDK_UNIX)/frontend/demo/source + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/framework/source + $(RSYNC_SDK_EXEC) framework/source/* $(RELEASE_SDK_UNIX)/frontend/framework/source + + @echo " * Synchronizing skeleton folder..." + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/skeleton + $(RSYNC_BUILD_EXEC) skeleton/build/*.tar.gz $(RELEASE_SDK_UNIX)/frontend/skeleton + + @echo " * Synchronizing tool folders..." + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/demo/tool + $(RSYNC_SDK_EXEC) demo/tool/* $(RELEASE_SDK_UNIX)/frontend/demo/tool + @$(NICE_CALL) find $(RELEASE_SDK_UNIX)/frontend/demo/tool -name "*.sh" -o -name "*.py" | xargs chmod a+rx + @mkdir -p $(RELEASE_SDK_UNIX)/frontend/framework/tool + $(RSYNC_SDK_EXEC) framework/tool/* $(RELEASE_SDK_UNIX)/frontend/framework/tool + @$(NICE_CALL) find $(RELEASE_SDK_UNIX)/frontend/framework/tool -name "*.sh" -o -name "*.py" | xargs chmod a+rx + + @echo " * Fixing line-breaks..." + @$(NICE_CALL) find $(RELEASE_SDK_UNIX) $(FIX_FILES) $(ANY2UNIX) + + @echo + @echo " SYNCHRONISATION OF DOS SDK RELEASE" + @echo "----------------------------------------------------------------------------" + + @echo " * Copying info files..." + @mkdir -p $(RELEASE_SDK_DOS) + @find ../ -maxdepth 1 -type f -name "[A-Z]*" -exec cp -f {} $(RELEASE_SDK_DOS) \; + + @echo " * Copying Makefiles..." + @mkdir -p $(RELEASE_SDK_DOS)/frontend + @cp -f Makefile $(RELEASE_SDK_DOS)/frontend + @mkdir -p $(RELEASE_SDK_DOS)/frontend/api + @cp -f api/Makefile $(RELEASE_SDK_DOS)/frontend/api + @mkdir -p $(RELEASE_SDK_DOS)/frontend/demo + @cp -f demo/Makefile $(RELEASE_SDK_DOS)/frontend/demo + @mkdir -p $(RELEASE_SDK_DOS)/frontend/framework + @cp -f framework/Makefile $(RELEASE_SDK_DOS)/frontend/framework + + @echo " * Synchronizing source folders..." + @mkdir -p $(RELEASE_SDK_DOS)/frontend/api/source + $(RSYNC_SDK_EXEC) api/source/* $(RELEASE_SDK_DOS)/frontend/api/source + @mkdir -p $(RELEASE_SDK_DOS)/frontend/demo/source + $(RSYNC_SDK_EXEC) demo/source/* $(RELEASE_SDK_DOS)/frontend/demo/source + @mkdir -p $(RELEASE_SDK_DOS)/frontend/framework/source + $(RSYNC_SDK_EXEC) framework/source/* $(RELEASE_SDK_DOS)/frontend/framework/source + + @echo " * Synchronizing skeleton folder..." + @mkdir -p $(RELEASE_SDK_DOS)/frontend/skeleton + $(RSYNC_BUILD_EXEC) skeleton/build/*.zip $(RELEASE_SDK_DOS)/frontend/skeleton + + @echo " * Synchronizing tool folders..." + @mkdir -p $(RELEASE_SDK_DOS)/frontend/demo/tool + $(RSYNC_SDK_EXEC) demo/tool/* $(RELEASE_SDK_DOS)/frontend/demo/tool + @$(NICE_CALL) find $(RELEASE_SDK_DOS)/frontend/demo/tool -name "*.sh" -o -name "*.py" | xargs chmod a+rx + @mkdir -p $(RELEASE_SDK_DOS)/frontend/framework/tool + $(RSYNC_SDK_EXEC) framework/tool/* $(RELEASE_SDK_DOS)/frontend/framework/tool + @$(NICE_CALL) find $(RELEASE_SDK_DOS)/frontend/framework/tool -name "*.sh" -o -name "*.py" | xargs chmod a+rx + + @echo " * Fixing line-breaks..." + @$(NICE_CALL) find $(RELEASE_SDK_DOS) $(FIX_FILES) $(ANY2DOS) + +release-sdk-compress: + @echo + @echo " COMPRESSION OF SDK RELEASE" + @echo "----------------------------------------------------------------------------" + + @echo " * Generating gzip (Unix) archive..." + @cd release/temp/sdk/unix; rm -f qooxdoo-$(VERSION)-sdk.tar.gz; $(NICE_CALL) tar cfzp ../../../qooxdoo-$(VERSION)-sdk.tar.gz qooxdoo-$(VERSION)-sdk + + @echo " * Generating zip (DOS) archive..." + @cd release/temp/sdk/dos; rm -f qooxdoo-$(VERSION)-sdk.zip; $(NICE_CALL) zip -rq ../../../qooxdoo-$(VERSION)-sdk.zip qooxdoo-$(VERSION)-sdk diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/Makefile b/webapps/qooxdoo-0.6.3-sdk/frontend/api/Makefile new file mode 100755 index 00000000000..299447511fe --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/api/Makefile @@ -0,0 +1,180 @@ +################################################################################### +# VARIABLES +################################################################################### + +FRAMEWORK=../framework +GENERATOR=$(FRAMEWORK)/tool/generator.py +CACHE=$(FRAMEWORK)/.cache +SOURCELOADER= +NICE=10 + +ifneq ($(SOURCELOADER),) + SOURCELDR = --source-loader-type $(SOURCELOADER) +else + SOURCELDR = +endif + + +################################################################################### +# DEFAULT TARGET +################################################################################### + +all: build + + + +################################################################################### +# COMMON TARGETS +################################################################################### + +source: generate-script-source generate-data-source +build: generate-script-build generate-data-build copy-index-file fix-build-rights +sync: build sync-qooxdoo-org +pretty: generate-pretty +fix: generate-fix + + + +################################################################################### +# CLEANUP TARGETS +################################################################################### + +clean: + @echo + @echo " CLEANUP OF GENERATED FILES" + @echo "----------------------------------------------------------------------------" + @echo " * Deleting files..." + @rm -f source/script/api.js source/script/data.js + @rm -f build/script/api.js build/script/data.js + @rm -rf build/xml source/xml + +realclean: clean + @echo + @echo " CLEANUP OF GENERATED FILES (REAL)" + @echo "----------------------------------------------------------------------------" + @echo " * Deleting files..." + @nice -n $(NICE) rm -rf build source/script + +distclean: realclean + @echo + @echo " CLEANUP OF GENERATED FILES (DIST)" + @echo "----------------------------------------------------------------------------" + @echo " * Deleting files..." + @nice -n $(NICE) find . -name "*~" -o -name "*.bak" -o -name "*.old" | xargs rm -rf + @nice -n $(NICE) rm -rf $(CACHE) + + + +################################################################################### +# GENERATOR TARGETS +################################################################################### + +generate-script-source: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --source-script-path ../$(FRAMEWORK)/source/class \ + --script-input source/class \ + --source-script-path class \ + --include api \ + --generate-source-script $(SOURCELDR) \ + --source-script-file source/script/api.js \ + --define-runtime-setting qx.manager.object.AliasManager.resourceUri:../$(FRAMEWORK)/source/resource \ + --cache-directory $(CACHE) + +generate-script-build: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --resource-input $(FRAMEWORK)/source/resource \ + --resource-output build/resource/qooxdoo \ + --script-input source/class \ + --resource-input source/resource \ + --resource-output build/resource \ + --include api \ + --generate-compiled-script \ + --compiled-script-file build/script/api.js \ + --optimize-strings \ + --optimize-variables \ + --define-runtime-setting qx.manager.object.AliasManager.resourceUri:resource/qooxdoo \ + --copy-resources \ + --cache-directory $(CACHE) + +generate-data-source: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --generate-api-documentation \ + --api-documentation-json-file source/script/data.js \ + --cache-directory $(CACHE) + +generate-data-build: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --generate-api-documentation \ + --api-documentation-json-file build/script/data.js \ + --cache-directory $(CACHE) + +generate-data-source-xml: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --generate-api-documentation \ + --api-documentation-xml-file source/xml/data.xml \ + --cache-directory $(CACHE) + +generate-data-build-xml: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --generate-api-documentation \ + --api-documentation-xml-file build/xml/data.xml \ + --cache-directory $(CACHE) + +generate-pretty: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input source/class \ + --script-input $(FRAMEWORK)/source/class \ + --include-without-dependencies api.* \ + --pretty-print \ + --cache-directory $(CACHE) + +generate-fix: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input source/class \ + --script-input $(FRAMEWORK)/source/class \ + --include-without-dependencies api.* \ + --fix-source \ + --cache-directory $(CACHE) + + + +################################################################################### +# FILE RELATED TARGETS +################################################################################### + +copy-index-file: + @echo + @echo " CREATE COPY OF HTML FILE" + @echo "----------------------------------------------------------------------------" + @echo " * Copying file..." + @cp -f source/index.html build/index.html + +fix-build-rights: + @echo + @echo " FIX RIGHTS ON BUILD FILES" + @echo "----------------------------------------------------------------------------" + @echo " * Fixing file rights..." + @nice -n $(NICE) find build -type d | xargs chmod a+rx + @nice -n $(NICE) find build -type f | xargs chmod a+r + + + + + + +################################################################################### +# ONLINE TARGETS +################################################################################### + +sync-qooxdoo-org: + @echo + @echo " SYNC FILES TO HOMEPAGE" + @echo "----------------------------------------------------------------------------" + @echo " * Syncing..." + @nice -n $(NICE) rsync --checksum --recursive --archive --delete --verbose build/* root@qooxdoo.org:/var/www/qooxdoo/api diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/ClassViewer.js b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/ClassViewer.js new file mode 100755 index 00000000000..20e110b117b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/ClassViewer.js @@ -0,0 +1,1589 @@ +/* +#module(api) +*/ + +/** + * Shows the class details. + */ +qx.OO.defineClass("api.ClassViewer", qx.ui.embed.HtmlEmbed, +function() { + qx.ui.embed.HtmlEmbed.call(this); + + this.setOverflow("auto"); + this.setPadding(20); + this.setEdge(0); + this.setHtmlProperty("id", "ClassViewer"); + this.setVisibility(false); + + api.ClassViewer.instance = this; +}); + + +qx.Proto._fixLinks = function(el) +{ + var a = el.getElementsByTagName("a"); + for (var i=0; itrue + * when a item has details. + * @param addInheritedCheckBox {boolean} whether to add a "show inherited ..." + * checkbox. + * @param isOpen {boolean} whether the info panel is open by default. + * @return {string} the HTML for the info panel. + */ +qx.Proto._createInfoPanel = function(nodeType, listName, labelText, infoFactory, + hasDetailDecider, addInheritedCheckBox, isOpen) +{ + var uppercaseLabelText = labelText.charAt(0).toUpperCase() + labelText.substring(1); + + typeInfo = { listName:listName, labelText:labelText, infoFactory:infoFactory, + hasDetailDecider:hasDetailDecider, isOpen:isOpen, + hasInheritedCheckBox:addInheritedCheckBox } + this._infoPanelHash[nodeType] = typeInfo; + + var html = '

'; + + if (addInheritedCheckBox) { + html += '' + + ''; + } + + html += ' " + + '" + + uppercaseLabelText + + ''; + + html += '

'; + + return html; +} + + +/** + * Shows the information about a class. + * + * @param classNode {Map} the doc node of the class to show. + */ +qx.Proto.showClass = function(classNode) { + if (this._currentClassDocNode == classNode) { + // Nothing to do + return; + } + + this._currentClassDocNode = classNode; + + if (!this._titleElem) { + // _initContentDocument was not called yet + // -> Do nothing, the class will be shown in _initContentDocument. + return; + } + + var ClassViewer = api.ClassViewer; + + var titleHtml = ""; + + titleHtml += '
' + classNode.attributes.packageName + '
'; + + titleHtml += ''; + + if (classNode.attributes.isAbstract) { + titleHtml += "Abstract "; + } else if (classNode.attributes.isStatic) { + titleHtml += "Static "; + } + + titleHtml += "Class "; + titleHtml += ''; + titleHtml += classNode.attributes.name; + + this._titleElem.innerHTML = titleHtml; + + var classHtml = ""; + + // Add the class description + var ctorList = api.TreeUtil.getChild(classNode, "constructor"); + if (ctorList) { + var desc = this._createDescHtml(ctorList.children[0], classNode, true); + + if (desc != "") + { + classHtml += '
' + desc + '
'; + classHtml += "
"; + } + } + + // Create the class hierarchy + classHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Inheritance hierarchy:" + ClassViewer.DIV_END; + + var classHierarchy = []; + var currClass = classNode; + while (currClass != null) { + classHierarchy.push(currClass); + currClass = this._getClassDocNode(currClass.attributes.superClass); + } + this._currentClassHierarchy = classHierarchy; + + // Add the class hierarchy + classHtml += ClassViewer.createImageHtml("api/class18.gif") + "Object
"; + var indent = 0; + for (var i = classHierarchy.length - 1; i >= 0; i--) { + classHtml += ClassViewer.createImageHtml("api/nextlevel.gif", null, "margin-left:" + indent + "px") + + ClassViewer.createImageHtml(api.TreeUtil.getIconUrl(classHierarchy[i])); + if (i != 0) { + classHtml += this._createItemLinkHtml(classHierarchy[i].attributes.fullName, null, false); + } else { + classHtml += classHierarchy[i].attributes.fullName; + } + classHtml += "
"; + indent += 18; + } + + classHtml += '
'; + + // Add child classes + if (classNode.attributes.childClasses) { + classHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Direct subclasses:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT; + + var classNameArr = classNode.attributes.childClasses.split(","); + for (var i = 0; i < classNameArr.length; i++) { + if (i != 0) { + classHtml += ", "; + } + classHtml += this._createItemLinkHtml(classNameArr[i], null, true, false); + } + + classHtml += ClassViewer.DIV_END; + classHtml += '
'; + } + + // Add @see attributes + if (ctorList) { + classHtml += this._createSeeAlsoHtml(ctorList.children[0], classNode); + classHtml += '
'; + } + + this._classDescElem.innerHTML = classHtml; + this._fixLinks(this._classDescElem); + + // Refresh the info viewers + for (var nodeType in this._infoPanelHash) { + this._updateInfoPanel(parseInt(nodeType)); + } + + // Scroll to top + this.getElement().scrollTop = 0; +} + +qx.Proto.showInfo = function(classNode) { + if (this._currentClassDocNode == classNode) { + // Nothing to do + return; + } + + this._currentClassDocNode = classNode; + + if (!this._titleElem) { + // _initContentDocument was not called yet + // -> Do nothing, the class will be shown in _initContentDocument. + return; + } + + var ClassViewer = api.ClassViewer; + + this._titleElem.innerHTML = "Info View"; + this._classDescElem.innerHTML = ""; + + // Scroll to top + this.getElement().scrollTop = 0; +} + +/** + * Highlights an item (property, method or constant) and scrolls it visible. + * + * @param itemName {string} the name of the item to highlight. + */ +qx.Proto.showItem = function(itemName) { + var itemNode = api.TreeUtil.getItemDocNode(this._currentClassDocNode, itemName); + if (! itemNode) { + alert("Item '" + itemName + "' not found"); + } + + var nodeType = this._getTypeForItemNode(itemNode); + var elem = this._getItemElement(nodeType, itemNode.attributes.name).parentNode.parentNode; + + // Handle mark + if (this._markedElement) { + this._markedElement.className = ""; + } + + elem.className = "marked"; + this._markedElement = elem; + + // Scroll the element visible + var top = qx.dom.Location.getPageBoxTop(elem); + var height = elem.offsetHeight; + + var doc = this.getElement(); + var scrollTop = doc.scrollTop; + var clientHeight = doc.offsetHeight; + + if (scrollTop > top) { + doc.scrollTop = top; + } else if (scrollTop < top + height - clientHeight) { + doc.scrollTop = top + height - clientHeight; + } +} + + +/** + * Updates an info panel. + * + * @param nodeType {int} the node type of which to update the info panel. + */ +qx.Proto._updateInfoPanel = function(nodeType) { + var ClassViewer = api.ClassViewer; + + var typeInfo = this._infoPanelHash[nodeType]; + + // Get the nodes to show + var nodeArr = null; + var fromClassHash = null; + if (typeInfo.isOpen && this._currentClassDocNode) { + if (typeInfo.showInherited) { + nodeArr = []; + fromClassArr = []; + fromClassHash = {}; + var currClassNode = this._currentClassDocNode; + while (currClassNode != null) { + var currParentNode = api.TreeUtil.getChild(currClassNode, typeInfo.listName); + var currNodeArr = currParentNode ? currParentNode.children : null; + if (currNodeArr) { + // Add the nodes from this class + for (var i = 0; i < currNodeArr.length; i++) { + var name = currNodeArr[i].attributes.name; + if (fromClassHash[name] == null) { + fromClassHash[name] = currClassNode; + nodeArr.push(currNodeArr[i]); + } + } + } + + var superClassName = currClassNode.attributes.superClass; + currClassNode = superClassName ? this._getClassDocNode(superClassName) : null; + } + + // Sort the nodeArr by name + nodeArr.sort(function(obj1, obj2) { + return (obj1.attributes.name.toLowerCase() < obj2.attributes.name.toLowerCase()) ? -1 : 1; + }); + } else { + var parentNode = api.TreeUtil.getChild(this._currentClassDocNode, typeInfo.listName); + nodeArr = parentNode ? parentNode.children : null; + } + } + + // Show the nodes + if (nodeArr && nodeArr.length != 0) + { + var html = ''; + + for (var i = 0; i < nodeArr.length; i++) + { + var node = nodeArr[i]; + var fromClassNode = fromClassHash ? fromClassHash[node.attributes.name] : null; + if (fromClassNode == null) { + fromClassNode = this._currentClassDocNode; + } + + var info = typeInfo.infoFactory.call(this, node, nodeType, fromClassNode, false); + var inherited = fromClassNode && (fromClassNode != this._currentClassDocNode); + var iconUrl = api.TreeUtil.getIconUrl(node, inherited); + + // Create the title row + html += ''; + + html += ''; + html += ''; + + html += ''; + + html += ''; + html += ''; + } + + html += '
' + ClassViewer.createImageHtml(iconUrl) + '' + ((info.typeHtml.length != 0) ? (info.typeHtml + " ") : "") + ''; + if (typeInfo.hasDetailDecider.call(this, node, nodeType, fromClassNode)) + { + // This node has details -> Show the detail button + html += '"; + } + else + { + html += " "; + } + html += ''; + + // Create headline + html += '"; + } + else + { + html += '>'; + } + + html += info.titleHtml; + html += ''; + + // Create content area + html += '
'; + html += info.textHtml; + html += '
'; + + html += '
'; + + typeInfo.infoBodyElem.innerHTML = html; + this._fixLinks(typeInfo.infoBodyElem); + typeInfo.infoBodyElem.style.display = ""; + } + else + { + if (typeInfo.isOpen) + { + typeInfo.infoBodyElem.innerHTML = '
This class has no ' + typeInfo.labelText + '
'; + typeInfo.infoBodyElem.style.display = ""; + } + else + { + typeInfo.infoBodyElem.style.display = "none"; + } + } +} + + +/** + * Event handler. Called when the user clicked a button for showing/hiding the + * details of an item. + * + * @param nodeType {int} the node type of the item to show/hide the details. + * @param name {string} the name of the item. + * @param fromClassName {string} the name of the class the item the item was + * defined in. + */ +qx.Proto._onShowItemDetailClicked = function(nodeType, name, fromClassName) { + try { + var typeInfo = this._infoPanelHash[nodeType]; + var textDiv = this._getItemElement(nodeType, name); + + if (!textDiv) { + throw Error("Element for name '" + name + "' not found!"); + } + + var showDetails = textDiv._showDetails ? !textDiv._showDetails : true; + textDiv._showDetails = showDetails; + + var fromClassNode = this._currentClassDocNode; + if (fromClassName) { + fromClassNode = this._getClassDocNode(fromClassName); + } + + var listNode = api.TreeUtil.getChild(fromClassNode, typeInfo.listName); + var node; + if (nodeType == api.ClassViewer.NODE_TYPE_CONSTRUCTOR) { + node = listNode.children[0]; + } else { + node = api.TreeUtil.getChildByAttribute(listNode, "name", name); + } + + // Update the close/open image + var opencloseImgElem = textDiv.parentNode.previousSibling.firstChild; + opencloseImgElem.src = qx.manager.object.AliasManager.getInstance().resolvePath(showDetails ? 'api/close.gif' : 'api/open.gif'); + + // Update content + var info = typeInfo.infoFactory.call(this, node, nodeType, fromClassNode, showDetails); + textDiv.innerHTML = info.textHtml; + this._fixLinks(textDiv); + } catch (exc) { + this.error("Toggling item details failed", exc); + } +} + + +/** + * Event handler. Called when the user clicked on a "show inherited ..." + * checkbox. + * + * @param nodeType {int} the node type of which the inherited-checkbox was + * clicked. + */ +qx.Proto._onInheritedCheckBoxClick = function(nodeType) { + try { + var typeInfo = this._infoPanelHash[nodeType]; + var checkboxElem = typeInfo.infoTitleElem.getElementsByTagName("input")[0]; + + typeInfo.showInherited = checkboxElem.checked; + + this._updateInfoPanel(nodeType); + } catch (exc) { + this.error("Handling inherited checkbox click failed", exc); + } +} + + +/** + * Event handler. Called when the user clicked a button for showing/hiding the + * body of an info panel. + * + * @param nodeType {int} the node type of which the show/hide-body-button was + * clicked. + */ +qx.Proto._onShowInfoPanelBodyClicked = function(nodeType) { + try { + var typeInfo = this._infoPanelHash[nodeType]; + typeInfo.isOpen = !typeInfo.isOpen; + + var imgElem = typeInfo.infoTitleElem.getElementsByTagName("img")[0]; + imgElem.src = qx.manager.object.AliasManager.getInstance().resolvePath(typeInfo.isOpen ? 'api/close.gif' : 'api/open.gif'); + + this._updateInfoPanel(nodeType); + } catch (exc) { + this.error("Toggling info body failed", exc); + } +} + + +/** + * Gets the HTML element showing the details of an item. + * + * @param nodeType {int} the node type of the item. + * @param name {string} the item's name. + * @return {Element} the HTML element showing the details of the item. + */ +qx.Proto._getItemElement = function(nodeType, name) { + var typeInfo = this._infoPanelHash[nodeType]; + var elemArr = typeInfo.infoBodyElem.getElementsByTagName("TBODY")[0].childNodes; + + for (var i = 0; i < elemArr.length; i++) { + // ARRG, should be implemented in a more fault-tolerant way + // iterate over tr's, look inside the third "td" and there the second element + if (elemArr[i].childNodes[3].childNodes[1].getAttribute("_itemName") == name) { + return elemArr[i].childNodes[3].childNodes[1]; + } + } +} + + +/** + * Selects an item. + * + * @param itemName {string} the name of the item. + * @see ApiViewer#selectItem + */ +qx.Proto._selectItem = function(itemName) { + try { + api.Viewer.instance.selectItem(itemName); + qx.ui.core.Widget.flushGlobalQueues(); + } catch (exc) { + this.error("Selecting item '" + itemName + "' failed", exc); + } +} + + +/** + * Gets the doc node of a class. + * + * @param className {string} the name of the class. + * @return {Map} the doc node of the class. + */ +qx.Proto._getClassDocNode = function(className) { + if (className) { + return api.TreeUtil.getClassDocNode(api.Viewer.instance.getDocTree(), className); + } else { + return null; + } +} + + +/** + * Creates the HTML showing the information about a property. + * + * @param node {Map} the doc node of the property. + * @param nodeType {int} the node type of the property. + * @param fromClassNode {Map} the doc node of the class the property was defined. + * @param showDetails {boolean} whether to show the details. + * @return {string} the HTML showing the information about the property. + */ +qx.Proto._createPropertyInfo = function(node, nodeType, fromClassNode, showDetails) { + var ClassViewer = api.ClassViewer; + + var info = {} + + var typeInfo = this._infoPanelHash[nodeType]; + + // Get the property node that holds the documentation + var docClassNode = fromClassNode; + var docNode = node; + if (node.attributes.docFrom) { + docClassNode = this._getClassDocNode(node.attributes.docFrom); + var listNode = api.TreeUtil.getChild(docClassNode, typeInfo.listName); + docNode = api.TreeUtil.getChildByAttribute(listNode, "name", node.attributes.name); + } + + // Add the title + info.typeHtml = this._createTypeHtml(node, fromClassNode, "var"); + info.titleHtml = node.attributes.name; + + // Add the description + info.textHtml = this._createDescHtml(docNode, fromClassNode, showDetails); + + if (showDetails) { + // Add allowed values + var allowedValue = null; + if (node.attributes.possibleValues) { + allowedValue = node.attributes.possibleValues; + } else if (node.attributes.classname) { + allowedValue = "instances of " + node.attributes.classname; + } else if (node.attributes.instance) { + allowedValue = "instances of " + node.attributes.instance + " or sub classes"; + } else if (node.attributes.unitDetection) { + allowedValue = "units: " + node.attributes.unitDetection; + } else if (node.attributes.type) { + allowedValue = "any " + node.attributes.type; + } + + if (allowedValue) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Allowed values:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT; + + if (node.attributes.allowNull != "false") { + info.textHtml += "null, "; + } + info.textHtml += allowedValue + ClassViewer.DIV_END; + } + + // Add default value + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Default value:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + + (node.attributes.defaultValue ? node.attributes.defaultValue : "null") + + ClassViewer.DIV_END; + + // Add get alias + if (node.attributes.getAlias) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Get alias:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + node.attributes.getAlias + ClassViewer.DIV_END; + } + + // Add set alias + if (node.attributes.setAlias) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Set alias:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + node.attributes.setAlias + ClassViewer.DIV_END; + } + + // Add inherited from or overridden from + if (fromClassNode && fromClassNode != this._currentClassDocNode) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Inherited from:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + + this._createItemLinkHtml(fromClassNode.attributes.fullName) + + ClassViewer.DIV_END; + } else if (node.attributes.overriddenFrom) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Overridden from:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + + this._createItemLinkHtml(node.attributes.overriddenFrom) + + ClassViewer.DIV_END; + } + + // Add @see attributes + info.textHtml += this._createSeeAlsoHtml(docNode, docClassNode); + + // Add documentation errors + info.textHtml += this._createErrorHtml(docNode, docClassNode); + } + + return info; +} + + +/** + * Checks whether an event has details. + * + * @param node {Map} the doc node of the event. + * @param nodeType {int} the node type of the event. + * @param fromClassNode {Map} the doc node of the class the event was defined. + * @return {boolean} whether the event has details. + */ +qx.Proto._eventHasDetails = function(node, nodeType, fromClassNode) { + return (fromClassNode != this._currentClassDocNode) // event is inherited + || this._hasSeeAlsoHtml(node) + || this._hasErrorHtml(node) + || this._descHasDetails(node); +}; + + +/** + * Creates the HTML showing the information about an event. + * + * @param node {Map} the doc node of the event. + * @param nodeType {int} the node type of the event. + * @param fromClassNode {Map} the doc node of the class the event was defined. + * @param showDetails {boolean} whether to show the details. + * @return {string} the HTML showing the information about the event. + */ +qx.Proto._createEventInfo = function(node, nodeType, fromClassNode, showDetails) { + var ClassViewer = api.ClassViewer; + + var info = {} + + var typeInfo = this._infoPanelHash[nodeType]; + + // Add the title + info.typeHtml = this._createTypeHtml(node, fromClassNode, "var"); + info.titleHtml = node.attributes.name; + + // Add the description + info.textHtml = this._createDescHtml(node, fromClassNode, showDetails); + + if (showDetails) { + // Add inherited from or overridden from + if (fromClassNode && fromClassNode != this._currentClassDocNode) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Inherited from:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + + this._createItemLinkHtml(fromClassNode.attributes.fullName) + + ClassViewer.DIV_END; + } + + // Add @see attributes + info.textHtml += this._createSeeAlsoHtml(node, fromClassNode); + + // Add documentation errors + info.textHtml += this._createErrorHtml(node, fromClassNode); + } + + return info; +}; + + +/** + * Checks whether a method has details. + * + * @param node {Map} the doc node of the method. + * @param nodeType {int} the node type of the method. + * @param fromClassNode {Map} the doc node of the class the method was defined. + * @return {boolean} whether the method has details. + */ +qx.Proto._methodHasDetails = function(node, nodeType, fromClassNode) { + var TreeUtil = api.TreeUtil; + + var typeInfo = this._infoPanelHash[nodeType]; + + // Get the method node that holds the documentation + var docClassNode = fromClassNode; + var docNode = node; + if (node.attributes.docFrom) { + docClassNode = this._getClassDocNode(node.attributes.docFrom); + var listNode = TreeUtil.getChild(docClassNode, typeInfo.listName); + docNode = TreeUtil.getChildByAttribute(listNode, "name", node.attributes.name); + } + + // Check whether there are details + var hasParams = TreeUtil.getChild(docNode, "params") != null; + var hasReturn = TreeUtil.getChild(docNode, "return") != null; + var isOverridden = fromClassNode != this._currentClassDocNode; + + return (fromClassNode != this._currentClassDocNode) // method is inherited + || (node.attributes.overriddenFrom != null) // method is overridden + || (TreeUtil.getChild(docNode, "params") != null) // method has params + || (TreeUtil.getChild(docNode, "return") != null) // method has return value + || this._hasSeeAlsoHtml(docNode) + || this._hasErrorHtml(docNode) + || this._descHasDetails(docNode); +} + + +/** + * Creates the HTML showing the information about a method. + * + * @param node {Map} the doc node of the method. + * @param nodeType {int} the node type of the method. + * @param fromClassNode {Map} the doc node of the class the method was defined. + * @param showDetails {boolean} whether to show the details. + * @return {string} the HTML showing the information about the method. + */ +qx.Proto._createMethodInfo = function(node, nodeType, fromClassNode, showDetails) { + var ClassViewer = api.ClassViewer; + var TreeUtil = api.TreeUtil; + + var info = {} + + var typeInfo = this._infoPanelHash[nodeType]; + + // Get the method node that holds the documentation + var docClassNode = fromClassNode; + var docNode = node; + if (node.attributes.docFrom) { + docClassNode = this._getClassDocNode(node.attributes.docFrom); + var listNode = TreeUtil.getChild(docClassNode, typeInfo.listName); + docNode = TreeUtil.getChildByAttribute(listNode, "name", node.attributes.name); + } + + if (node.attributes.isAbstract) { + info.typeHtml = "abstract "; + } else { + info.typeHtml = ""; + } + + // Get name, icon and return type + var returnNode = TreeUtil.getChild(docNode, "return"); + if (node.attributes.isCtor) { + info.titleHtml = fromClassNode.attributes.name; + } else { + info.titleHtml = node.attributes.name; + info.typeHtml += this._createTypeHtml(returnNode, fromClassNode, "void"); + } + + // Add the title (the method signature) + info.titleHtml += ' ('; + var paramsNode = TreeUtil.getChild(docNode, "params"); + if (paramsNode) { + for (var i = 0; i < paramsNode.children.length; i++) { + var param = paramsNode.children[i]; + if (i != 0) { + info.titleHtml += ', '; + } + info.titleHtml += '' + this._createTypeHtml(param, fromClassNode, "var") + " " + + param.attributes.name; + if (param.attributes.defaultValue) { + info.titleHtml += "?"; + } + } + } + info.titleHtml += ')'; + + // Add the description + if (node.attributes.isCtor) { + info.textHtml = "Creates a new instance of " + fromClassNode.attributes.name + "."; + } else { + info.textHtml = this._createDescHtml(docNode, docClassNode, showDetails); + } + + + if (showDetails) { + // Add Parameters + var paramsNode = TreeUtil.getChild(docNode, "params"); + if (paramsNode) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Parameters:" + ClassViewer.DIV_END; + for (var i = 0; i < paramsNode.children.length; i++) { + var param = paramsNode.children[i]; + var paramType = param.attributes.type ? param.attributes.type : "var"; + var dims = param.attributes.arrayDimensions; + if (dims) { + for (var i = 0; i < dims; i++) { + paramType += "[]"; + } + } + var defaultValue = param.attributes.defaultValue; + + info.textHtml += ClassViewer.DIV_START_DETAIL_TEXT; + if (defaultValue) { + info.textHtml += ClassViewer.SPAN_START_OPTIONAL; + } + info.textHtml += ClassViewer.SPAN_START_PARAM_NAME + param.attributes.name + ClassViewer.SPAN_END; + if (defaultValue) { + info.textHtml += " (default: " + defaultValue + ") " + ClassViewer.SPAN_END; + } + + var paramDescNode = TreeUtil.getChild(param, "desc"); + if (paramDescNode) { + info.textHtml += " " + this._createDescriptionHtml(paramDescNode.attributes.text, docClassNode); + } + info.textHtml += ClassViewer.DIV_END; + } + } + + // Add return value + if (returnNode) { + var returnDescNode = TreeUtil.getChild(returnNode, "desc"); + if (returnDescNode) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Returns:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + + this._createDescriptionHtml(returnDescNode.attributes.text, docClassNode) + + ClassViewer.DIV_END; + } + } + + // Add inherited from or overridden from + if (fromClassNode && fromClassNode != this._currentClassDocNode) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Inherited from:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + + this._createItemLinkHtml(fromClassNode.attributes.fullName) + + ClassViewer.DIV_END; + } else if (node.attributes.overriddenFrom) { + info.textHtml += ClassViewer.DIV_START_DETAIL_HEADLINE + "Overridden from:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + + this._createItemLinkHtml(node.attributes.overriddenFrom) + + ClassViewer.DIV_END; + } + + // Add @see attributes + info.textHtml += this._createSeeAlsoHtml(docNode, docClassNode); + + // Add documentation errors + info.textHtml += this._createErrorHtml(docNode, docClassNode); + } + + return info; +} + + +/** + * Checks whether a constant has details. + * + * @param node {Map} the doc node of the constant. + * @param nodeType {int} the node type of the constant. + * @param fromClassNode {Map} the doc node of the class the constant was defined. + * @return {boolean} whether the constant has details. + */ +qx.Proto._constantHasDetails = function(node, nodeType, fromClassNode) { + return this._hasSeeAlsoHtml(node) || this._hasErrorHtml(node) || this._descHasDetails(node); +} + + +/** + * Creates the HTML showing the information about a constant. + * + * @param node {Map} the doc node of the constant. + * @param nodeType {int} the node type of the constant. + * @param fromClassNode {Map} the doc node of the class the constant was defined. + * @param showDetails {boolean} whether to show the details. + * @return {string} the HTML showing the information about the constant. + */ +qx.Proto._createConstantInfo = function(node, nodeType, fromClassNode, showDetails) { + var info = {} + + // Add the title + info.typeHtml = this._createTypeHtml(node, fromClassNode, "var"); + info.titleHtml = node.attributes.name; + + // Add the description + info.textHtml = this._createDescHtml(node, fromClassNode, showDetails); + + if (showDetails) { + // Add @see attributes + info.textHtml += this._createSeeAlsoHtml(node, fromClassNode); + + // Add documentation errors + info.textHtml += this._createErrorHtml(node, fromClassNode); + } + + return info; +} + + +/** + * Returns whether the description of an item has details (has more than one + * sentence). + * + * @param node {Map} the doc node of the item. + * @return {boolean} whether the description of an item has details. + */ +qx.Proto._descHasDetails = function(node) { + var descNode = api.TreeUtil.getChild(node, "desc"); + if (descNode) { + var desc = descNode.attributes.text; + return this._extractFirstSentence(desc) != desc; + } else { + return false; + } +} + + +/** + * Creates the HTML showing the description of an item. + * + * @param node {Map} the doc node of the item. + * @param fromClassNode {Map} the doc node of the class the item was defined. + * @param showDetails {boolean} whether to show details. If false + * only the first sentence of the description will be shown. + * @return {string} the HTML showing the description. + */ +qx.Proto._createDescHtml = function(node, fromClassNode, showDetails) { + var descNode = api.TreeUtil.getChild(node, "desc"); + if (descNode) { + var desc = descNode.attributes.text; + if (!showDetails) { + desc = this._extractFirstSentence(desc); + } + return api.ClassViewer.DIV_START_DESC + + this._createDescriptionHtml(desc, fromClassNode) + + api.ClassViewer.DIV_END; + } else { + return ""; + } +} + + +/** + * Extracts the first sentence from a text. + * + * @param text {string} the text. + * @return {string} the first sentence from the text. + */ +qx.Proto._extractFirstSentence = function(text) +{ + var ret = text; + + // Extract first block + var pos = ret.indexOf("

"); + if (pos != -1) + { + ret = ret.substr(0, pos+4); + + var hit = api.ClassViewer.SENTENCE_END_REGEX.exec(ret); + if (hit != null) { + ret = text.substring(0, hit.index + hit[0].length - 1) + "

"; + } + } + + return ret; +} + + +/** + * Checks whether a item has @see attributes. + * + * @param node {Map} the doc node of the item. + * @return {boolean} whether the item has @see attributes. + */ +qx.Proto._hasSeeAlsoHtml = function(node) { + var TreeUtil = api.TreeUtil; + + var descNode = TreeUtil.getChild(node, "desc"); + if (descNode) { + var attributesNode = TreeUtil.getChild(descNode, "attributes"); + if (attributesNode) { + var seeAttribNode = TreeUtil.getChildByAttribute(attributesNode, "name", "see"); + if (seeAttribNode) { + return true; + } + } + } + + // There is no @see attribute + return false; +} + + +/** + * Creates the HTML showing the @see attributes of an item. + * + * @param node {Map} the doc node of the item. + * @param fromClassNode {Map} the doc node of the class the item was defined. + * @return {string} the HTML showing the @see attributes. + */ +qx.Proto._createSeeAlsoHtml = function(node, fromClassNode) { + var ClassViewer = api.ClassViewer; + + var descNode = api.TreeUtil.getChild(node, "desc"); + if (descNode) { + var attributesNode = api.TreeUtil.getChild(descNode, "attributes"); + if (attributesNode) { + var seeAlsoHtml = ""; + for (var i = 0; i < attributesNode.children.length; i++) { + var attribNode = attributesNode.children[i]; + if (attribNode.attributes.name == "see") { + // This is a @see attribute + if (seeAlsoHtml.length != 0) { + seeAlsoHtml += ", "; + } + seeAlsoHtml += this._createItemLinkHtml(attribNode.attributes.text, fromClassNode); + } + } + + if (seeAlsoHtml.length != 0) { + // We had @see attributes + return ClassViewer.DIV_START_DETAIL_HEADLINE + "See also:" + ClassViewer.DIV_END + + ClassViewer.DIV_START_DETAIL_TEXT + seeAlsoHtml + ClassViewer.DIV_END; + } + } + } + + // Nothing found + return ""; +} + + +/** + * Checks whether a item has documentation errors. + * + * @param node {Map} the doc node of the item. + * @return {boolean} whether the item has documentation errors. + */ +qx.Proto._hasErrorHtml = function(node) { + var errorNode = api.TreeUtil.getChild(node, "errors"); + return (errorNode != null); +} + + +/** + * Creates the HTML showing the documentation errors of an item. + * + * @param node {Map} the doc node of the item. + * @param fromClassNode {Map} the doc node of the class the item was defined. + * @return {string} the HTML showing the documentation errors. + */ +qx.Proto._createErrorHtml = function(node, fromClassNode) { + var ClassViewer = api.ClassViewer; + + var errorNode = api.TreeUtil.getChild(node, "errors"); + if (errorNode) { + var html = ClassViewer.DIV_START_ERROR_HEADLINE + "Documentation errors:" + ClassViewer.DIV_END; + var errArr = errorNode.children; + for (var i = 0; i < errArr.length; i++) { + html += ClassViewer.DIV_START_DETAIL_TEXT + errArr[i].attributes.msg + "
"; + html += "(" + if (fromClassNode && fromClassNode != this._currentClassDocNode) { + html += fromClassNode.attributes.fullName + "; "; + } + html += "Line: " + errArr[i].attributes.line + ", Column:" + errArr[i].attributes.column + ")" + ClassViewer.DIV_END; + } + return html; + } else { + return ""; + } +} + + +/** + * Creates the HTML showing the type of a doc node. + * + * @param typeNode {Map} the doc node to show the type for. + * @param packageBaseClass {Map} the doc node of the class typeNode + * belongs to. + * @param defaultType {string} the type name to use if typeNode is + * null or defines no type. + * @param useShortName {boolean,true} whether to use short class names + * (without package). + * @return {string} the HTML showing the type. + */ +qx.Proto._createTypeHtml = function(typeNode, packageBaseClass, defaultType, useShortName) { + if (useShortName == null) { + useShortName = true; + } + + var types = []; + var typeHtml, typeDimensions, typeName, linkText, dims; + + if (typeNode) + { + // read in children + if (typeNode.children && api.TreeUtil.getChild(typeNode, "types")) + { + for (var i=0, a=api.TreeUtil.getChild(typeNode, "types").children, l=a.length; i 0) { + types.push({ "type" : typeName, "dimensions" : dims }); + } else { + types.push({ "type" : typeName }); + } + } + } + } + + if (types.length == 0) + { + typeHtml = defaultType; + } + else + { + typeHtml = ""; + + if (types.length > 1) { + typeHtml += "(" + } + + for (var j=0; j0) { + typeHtml += " | "; + } + + typeName = types[j].type; + typeDimensions = types[j].dimensions; + + if (api.ClassViewer.PRIMITIVES[typeName]) + { + typeHtml += typeName; + } + else + { + linkText = typeName; + if (useShortName) + { + var lastDot = typeName.lastIndexOf("."); + if (lastDot != -1) { + linkText += " " + typeName.substring(lastDot + 1); + } + } + typeHtml += this._createItemLinkHtml(linkText, packageBaseClass, false, true); + } + + if (typeDimensions) + { + for (var i = 0; i < parseInt(typeDimensions); i++) { + typeHtml += "[]"; + } + } + } + + if (types.length > 1) { + typeHtml += ")" + } + } + + return typeHtml; +} + + +/** + * Creates HTML that replaces all @link-attributes with links. + * + * @param description {string} the description. + * @param packageBaseClass {Map,null} the doc node of the class to use for + * auto-adding packages. + */ +qx.Proto._createDescriptionHtml = function(description, packageBaseClass) { + var linkRegex = /\{@link([^\}]*)\}/mg; + + var html = ""; + var hit; + var lastPos = 0; + while ((hit = linkRegex.exec(description)) != null) { + // Add the text before the link + html += description.substring(lastPos, hit.index) + + this._createItemLinkHtml(hit[1], packageBaseClass); + + lastPos = hit.index + hit[0].length; + } + + // Add the text after the last hit + html += description.substring(lastPos, description.length); + + return html; +} + + +/** + * Creates the HTML for a link to an item. + * + * @param linkText {string} the link text + * (e.g. "mypackage.MyClass#myMethod alt text") + * @param packageBaseClass {Map,null} the doc node of the class to use when + * auto-adding the package to a class name having no package specified. + * If null, no automatic package addition is done. + * @param useIcon {boolean,true} whether to add an icon to the link. + * @param useShortName {boolean,false} whether to use the short name. + */ +qx.Proto._createItemLinkHtml = function(linkText, packageBaseClass, useIcon, + useShortName) +{ + if (useIcon == null) { + useIcon = true; + } + + linkText = qx.lang.String.trim(linkText); + + if (linkText.charAt(0) == '"' || linkText.charAt(0) == '<') { + // This is a String or a link to a URL -> Just use it as it is + return linkText; + } else { + // This is a link to another class or method -> Create an item link + + // Separate item name from label + var hit = api.ClassViewer.ITEM_SPEC_REGEX.exec(linkText); + if (hit == null) { + // Malformed item name + return linkText; + } else { + var className = hit[2]; + var itemName = hit[3]; + var label = hit[6]; + + // Make the item name absolute + if (className == null || className.length == 0) { + // This is a relative link to a method -> Add the current class + className = packageBaseClass.attributes.fullName; + } else if (packageBaseClass && className.indexOf(".") == -1) { + // The class name has no package -> Use the same package as the current class + var name = packageBaseClass.attributes.name; + var fullName = packageBaseClass.attributes.fullName; + var packageName = fullName.substring(0, fullName.length - name.length); + className = packageName + className; + } + + // Get the node info + if (label == null || label.length == 0) { + // We have no label -> Use the item name as label + label = hit[1]; + } + + // Add the right icon + if (useIcon) { + var classNode = this._getClassDocNode(className); + if (classNode) { + var itemNode; + if (itemName) { + // The links points to a item of the class + var cleanItemName = itemName.substring(1); + var parenPos = cleanItemName.indexOf("("); + if (parenPos != -1) { + cleanItemName = qx.lang.String.trim(cleanItemName.substring(0, parenPos)); + } + itemNode = api.TreeUtil.getItemDocNode(classNode, cleanItemName); + } else { + // The links points to the class + itemNode = classNode; + } + if (itemNode) { + var iconUrl = api.TreeUtil.getIconUrl(itemNode); + var iconCode = api.ClassViewer.createImageHtml(iconUrl); + } + } + } + + // Create a real bookmarkable link + // NOTE: The onclick-handler must be added by HTML code. If it + // is added using the DOM element then the href is followed. + var fullItemName = className + (itemName ? itemName : ""); + return (typeof iconCode != "undefined" ? iconCode : "") + + '' + label + ''; + } + } +} + + +/** + * Gets the node type for a doc node. + * + * @param itemNode {Map} the doc node of the item. + * @return {int} the item's node type. + */ +qx.Proto._getTypeForItemNode = function(itemNode) { + var ClassViewer = api.ClassViewer; + + if (itemNode.type == "constant") { + return ClassViewer.NODE_TYPE_CONSTANT; + } else if (itemNode.type == "property") { + return ClassViewer.NODE_TYPE_PROPERTY; + } else if (itemNode.type == "event") { + return ClassViewer.NODE_TYPE_EVENT; + } else if (itemNode.type == "method") { + var name = itemNode.attributes.name; + if (name == null) { + return ClassViewer.NODE_TYPE_CONSTRUCTOR; + } else if (name.charAt(0) == "_") { + if (itemNode.attributes.isStatic) { + return ClassViewer.NODE_TYPE_METHOD_STATIC_PROTECTED; + } else { + return ClassViewer.NODE_TYPE_METHOD_PROTECTED; + } + } else { + if (itemNode.attributes.isStatic) { + return ClassViewer.NODE_TYPE_METHOD_STATIC_PUBLIC; + } else { + return ClassViewer.NODE_TYPE_METHOD_PUBLIC; + } + } + } +} + + +// overridden +qx.Proto.dispose = function() { + if (this.getDisposed()) { + return; + } + + this._titleElem = null; + this._classDescElem = null; + this._markedElement = null; + + for (var nodeType in this._infoPanelHash) { + this._infoPanelHash[nodeType].infoElem = null; + this._infoPanelHash[nodeType].infoTitleElem = null; + this._infoPanelHash[nodeType].infoBodyElem = null; + } + + document._detailViewer = null; + + return qx.ui.embed.HtmlEmbed.prototype.dispose.call(this); +} + + +/** {Map} The primitive types. These types will not be shown with links. */ +qx.Class.PRIMITIVES = { "boolean":true, "string":true, "float":true, + "number":true, "int":true, "double":true, "var":true, "void":true, + "RegExp":true, "Array":true, "Map":true, "Date":true, "Element":true, + "Node":true, "Function":true, "Object":true, "Event":true }; + +/** + * {regexp} The regexp for parsing a item name + * (e.g. "mypackage.MyClass#MY_CONSTANT alternative text"). + */ +qx.Class.ITEM_SPEC_REGEX = /^(([\w\.]+)?(#\w+(\([^\)]*\))?)?)(\s+(.*))?$/; + +/** {regexp} The regexp that finds the end of a sentence. */ +qx.Class.SENTENCE_END_REGEX = /[^\.].\.(\s|<)/; + + +/** {int} The node type of a constructor. */ +qx.Class.NODE_TYPE_CONSTRUCTOR = 1; +/** {int} The node type of a property. */ +qx.Class.NODE_TYPE_PROPERTY = 2; +/** {int} The node type of an event. */ +qx.Class.NODE_TYPE_EVENT = 3; +/** {int} The node type of a public method. */ +qx.Class.NODE_TYPE_METHOD_PUBLIC = 4; +/** {int} The node type of a protected method. */ +qx.Class.NODE_TYPE_METHOD_PROTECTED = 5; +/** {int} The node type of a static public method. */ +qx.Class.NODE_TYPE_METHOD_STATIC_PUBLIC = 6; +/** {int} The node type of a static protected method. */ +qx.Class.NODE_TYPE_METHOD_STATIC_PROTECTED = 7; +/** {int} The node type of a constant. */ +qx.Class.NODE_TYPE_CONSTANT = 8; + +/** {string} The start tag of a div. */ +qx.Class.DIV_START = '
'; +/** {string} The start tag of a div containing an item description. */ +qx.Class.DIV_START_DESC = '
'; +/** {string} The start tag of a div containing the headline of an item detail. */ +qx.Class.DIV_START_DETAIL_HEADLINE = '
'; +/** {string} The start tag of a div containing the text of an item detail. */ +qx.Class.DIV_START_DETAIL_TEXT = '
'; +/** {string} The start tag of a div containing the headline of an item error. */ +qx.Class.DIV_START_ERROR_HEADLINE = '
'; +/** {string} The end tag of a div. */ +qx.Class.DIV_END = '
'; + +/** {string} The start tag of a span containing an optional detail. */ +qx.Class.SPAN_START_OPTIONAL = ''; +/** {string} The start tag of a span containing a parameter name. */ +qx.Class.SPAN_START_PARAM_NAME = ''; +/** {string} The end tag of a span. */ +qx.Class.SPAN_END = ''; + + +/** + * Creates the HTML showing an image. + * + * @param imgUrl {var} the URL of the image. May be a string or an array of + * strings (for overlay images). + * @param tooltip {string} the tooltip to show. + * @param styleAttributes {string} the style attributes to add to the image. + */ +qx.Class.createImageHtml = function(imgUrl, tooltip, styleAttributes) { + if (typeof imgUrl == "string") { + return ''; + } else { + if (styleAttributes) { + styleAttributes += ";vertical-align:top"; + } else { + styleAttributes = "vertical-align:top"; + } + return api.ClassViewer.createOverlayImageHtml(18, 18, imgUrl, tooltip, styleAttributes); + } +} + + +/** + * Creates HTML that shows an overlay image (several images on top of each other). + * The resulting HTML will behave inline. + * + * @param width {int} the width of the images. + * @param height {int} the height of the images. + * @param imgUrlArr {string[]} the URLs of the images. The last image will be + * painted on top. + * @param toolTip {string,null} the tooltip of the icon. + * @param styleAttributes {string,null} custom CSS style attributes. + * @return {string} the HTML with the overlay image. + */ +qx.Class.createOverlayImageHtml + = function(width, height, imgUrlArr, toolTip, styleAttributes) +{ + var html = '
'; + + for (var i = 0; i < imgUrlArr.length; i++) { + html += ''; + } + + html += '
'; + + /* + // NOTE: See testOverlay.html + var html = '' + + '
'; + for (var i = 0; i < imgUrlArr.length; i++) { + html += ''; + } + html += '
'; + */ + + return html; +} \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/InfoViewer.js b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/InfoViewer.js new file mode 100644 index 00000000000..f65d1e82b1c --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/InfoViewer.js @@ -0,0 +1,35 @@ +/* +#module(api) +*/ + +/** + * Shows the class details. + */ +qx.OO.defineClass("api.InfoViewer", qx.ui.embed.HtmlEmbed, +function() { + qx.ui.embed.HtmlEmbed.call(this); + + this.setOverflow("auto"); + this.setPadding(20); + this.setEdge(0); + this.setHtmlProperty("id", "InfoViewer"); + this.setVisibility(false); + + api.InfoViewer.instance = this; +}); + +qx.Proto.showInfo = function(classNode) +{ + var vHtml = ""; + + // Title + vHtml += '

'; + vHtml += '
package
'; + vHtml += classNode.attributes.fullName; + vHtml += '

'; + + // TODO: Overview of classes in this package + + // Apply HTML + this.setHtml(vHtml); +} diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/TreeUtil.js b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/TreeUtil.js new file mode 100755 index 00000000000..bb90bfd6efe --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/TreeUtil.js @@ -0,0 +1,356 @@ +/* +#module(api) +*/ + +/** + * A util class for handling the documentation tree. + */ +qx.OO.defineClass("api.TreeUtil", qx.core.Object, +function () { + qx.core.Object.call(this); +}); + + +/** + * Gets the child of a doc node having a certain type. + * + * @param docNode {Map} the doc node to get the child of. + * @param childType {string} the type of the child to get. + * @return {Map} the wanted child or null if docNode + * is null or has no such child. + */ +qx.Class.getChild = function(docNode, childType) { + if (docNode != null && docNode.children != null) { + for (var i = 0; i < docNode.children.length; i++) { + if (docNode.children[i].type == childType) { + return docNode.children[i]; + } + } + } + + return null; +} + + +/** + * Gets the child of a doc node having a certain attribute value. + * + * @param docNode {Map} the doc node to get the child of. + * @param attributeName {string} the name of the attribute the wanted child must have. + * @param attributeValue {string} the value of the attribute the wanted child must have. + * @return {Map} the wanted child or code if there is no such child. + */ +qx.Class.getChildByAttribute = function(docNode, attributeName, attributeValue) { + if (docNode.children != null) { + for (var i = 0; i < docNode.children.length; i++) { + var node = docNode.children[i]; + if (node.attributes && node.attributes[attributeName] == attributeValue) { + return node; + } + } + } + + return null; +} + + +/** + * Searches the doc node of a item. Only use this method if you don't know the + * type of the item. + * + * @param classNode {Map} the class node the item belongs to. + * @param itemName {string} the name of the item to search. + * @return {Map} the doc node of the item or null if the class has + * no such item. + */ +qx.Class.getItemDocNode = function(classNode, itemName) { + var TreeUtil = api.TreeUtil; + + // Go through the item lists and check whether one contains the wanted item + for (var i = 0; i < TreeUtil.ITEM_LIST_ARR.length; i++) { + var listNode = TreeUtil.getChild(classNode, TreeUtil.ITEM_LIST_ARR[i]); + if (listNode) { + var itemNode = TreeUtil.getChildByAttribute(listNode, "name", itemName); + if (itemNode) { + return itemNode; + } + } + } + + // Nothing found + return null; +} + + +/** + * Gets the doc node of a class. + * + * @param docTree {Map} the documentation tree. + * @param className {string} the name of the class. + * @return {Map} the doc node of the class. + */ +qx.Class.getClassDocNode = function(docTree, className) { + var splits = className.split("."); + var currNode = docTree; + for (var i = 0; i < splits.length && currNode != null; i++) { + if (i < splits.length - 1) { + // The current name is a package name + var packages = this.getChild(currNode, "packages"); + currNode = packages ? this.getChildByAttribute(packages, "name", splits[i]) : null; + } else { + // The current name is a class name + var classes = this.getChild(currNode, "classes"); + currNode = classes ? this.getChildByAttribute(classes, "name", splits[i]) : null; + } + } + + return currNode; +} + + +/** + * Gets the icon URL of a doc node. + * + * @param node {Map} the node to get the icon for. + * @param inherited {boolean,false} whether the node was inherited. + * @return {var} the URL of the icon. May be a string or an array of string + * (in case of an overlay icon). + */ +qx.Class.getIconUrl = function(node, inherited) { + var constName; + switch (node.type) { + case "package": + constName = "ICON_PACKAGE"; + break; + case "class": + constName = "ICON_CLASS"; + + if (node.attributes.isStatic) { + constName += "_STATIC"; + } else if (node.attributes.isAbstract) { + constName += "_ABSTRACT"; + } + + break; + case "property": + constName = "ICON_PROPERTY"; + break; + case "event": + constName = "ICON_EVENT"; + break; + case "method": + var isCtor = node.attributes.name == null; + var isPublic = isCtor || (node.attributes.name.charAt(0) != "_"); + + constName = "ICON_METHOD" + (isPublic ? "_PUB" : "_PROT"); + + if (isCtor) { + constName += "_CTOR"; + } else if (node.attributes.isStatic) { + constName += "_STATIC"; + } else if (node.attributes.isAbstract) { + constName += "_ABSTRACT"; + } + + break; + case "constant": + constName = "ICON_CONSTANT"; + break; + default: throw new Error("Unknown node type: " + node.type); + } + + if (inherited) { + constName += "_INHERITED"; + } else if (node.attributes.overriddenFrom) { + constName += "_OVERRIDDEN"; + } + + if (node.attributes.hasError) { + constName += "_ERROR"; + } else if (node.attributes.hasWarning) { + constName += "_WARN"; + } + + var iconUrl = api.TreeUtil[constName]; + if (iconUrl == null) { + throw new Error("Unknown img constant: " + constName); + } + return iconUrl; +} + + +/** {string[]} The names of lists containing items. */ +qx.Class.ITEM_LIST_ARR = [ "constants", "properties", "methods-pub", "methods-pub", + "methods-static-prot", "methods-static-prot" ]; + + +/** {string} The URL of the overlay "abstract". */ +qx.Class.OVERLAY_ABSTRACT = "api/overlay_abstract18.gif"; +/** {string} The URL of the overlay "error". */ +qx.Class.OVERLAY_ERROR = "api/overlay_error18.gif"; +/** {string} The URL of the overlay "inherited". */ +qx.Class.OVERLAY_INHERITED = "api/overlay_inherited18.gif"; +/** {string} The URL of the overlay "overridden". */ +qx.Class.OVERLAY_OVERRIDDEN = "api/overlay_overridden18.gif"; +/** {string} The URL of the overlay "static". */ +qx.Class.OVERLAY_STATIC = "api/overlay_static18.gif"; +/** {string} The URL of the overlay "warning". */ +qx.Class.OVERLAY_WARN = "api/overlay_warning18.gif"; + + +/** {string} The icon URL of a package. */ +qx.Class.ICON_PACKAGE = "api/package18.gif"; +/** {string} The icon URL of a package with warning. */ +qx.Class.ICON_PACKAGE_WARN = "api/package_warning18.gif"; + + +/** {string} The icon URL of a class. */ +qx.Class.ICON_CLASS = "api/class18.gif"; +/** {string} The icon URL of a class with warning. */ +qx.Class.ICON_CLASS_WARN = "api/class_warning18.gif"; +/** {string} The icon URL of a class with error. */ +qx.Class.ICON_CLASS_ERROR = "api/class_warning18.gif"; + +/** {string} The icon URL of a static class. */ +qx.Class.ICON_CLASS_STATIC = "api/class_static18.gif"; +/** {string} The icon URL of a static class with warning. */ +qx.Class.ICON_CLASS_STATIC_WARN = "api/class_static_warning18.gif"; +/** {string} The icon URL of a static class with error. */ +qx.Class.ICON_CLASS_STATIC_ERROR = "api/class_static_warning18.gif"; + +/** {string} The icon URL of an abstract class. */ +qx.Class.ICON_CLASS_ABSTRACT = "api/class_abstract18.gif"; +/** {string} The icon URL of an abstract class with warning. */ +qx.Class.ICON_CLASS_ABSTRACT_WARN = "api/class_abstract_warning18.gif"; +/** {string} The icon URL of an abstract class with error. */ +qx.Class.ICON_CLASS_ABSTRACT_ERROR = "api/class_abstract_warning18.gif"; + + +/** {string} The icon URL of a property. */ +qx.Class.ICON_PROPERTY = "api/property18.gif"; +/** {string[]} The icon URL of a property with warning. */ +qx.Class.ICON_PROPERTY_WARN = [ qx.Class.ICON_PROPERTY, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of a property with error. */ +qx.Class.ICON_PROPERTY_ERROR = [ qx.Class.ICON_PROPERTY, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an inherited property. */ +qx.Class.ICON_PROPERTY_INHERITED = [ qx.Class.ICON_PROPERTY, qx.Class.OVERLAY_INHERITED ]; +/** {string[]} The icon URL of an inherited property with warning. */ +qx.Class.ICON_PROPERTY_INHERITED_WARN = [ qx.Class.ICON_PROPERTY, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an inherited property with error. */ +qx.Class.ICON_PROPERTY_INHERITED_ERROR = [ qx.Class.ICON_PROPERTY, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an overridden property. */ +qx.Class.ICON_PROPERTY_OVERRIDDEN = [ qx.Class.ICON_PROPERTY, qx.Class.OVERLAY_OVERRIDDEN ]; +/** {string[]} The icon URL of an overridden property with warning. */ +qx.Class.ICON_PROPERTY_OVERRIDDEN_WARN = [ qx.Class.ICON_PROPERTY, qx.Class.OVERLAY_OVERRIDDEN, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an overridden property with error. */ +qx.Class.ICON_PROPERTY_OVERRIDDEN_ERROR = [ qx.Class.ICON_PROPERTY, qx.Class.OVERLAY_OVERRIDDEN, qx.Class.OVERLAY_ERROR ]; + + +/** {string} The icon URL of an event. */ +qx.Class.ICON_EVENT = "api/event18.gif"; + +/** {string[]} The icon URL of an inherited event. */ +qx.Class.ICON_EVENT_INHERITED = [ qx.Class.ICON_EVENT, qx.Class.OVERLAY_INHERITED ]; + + +/** {string} The icon URL of a public method. */ +qx.Class.ICON_METHOD_PUB = "api/method_public18.gif"; +/** {string[]} The icon URL of a public method with warning. */ +qx.Class.ICON_METHOD_PUB_WARN = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ERROR ]; +/** {string[]} The icon URL of a public method with error. */ +qx.Class.ICON_METHOD_PUB_ERROR = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an inherited public method. */ +qx.Class.ICON_METHOD_PUB_INHERITED = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_INHERITED ]; +/** {string[]} The icon URL of an inherited public method with warning. */ +qx.Class.ICON_METHOD_PUB_INHERITED_WARN = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an inherited public method with error. */ +qx.Class.ICON_METHOD_PUB_INHERITED_ERROR = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an overridden public method. */ +qx.Class.ICON_METHOD_PUB_OVERRIDDEN = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_OVERRIDDEN ]; +/** {string[]} The icon URL of an overridden public method with warning. */ +qx.Class.ICON_METHOD_PUB_OVERRIDDEN_WARN = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_OVERRIDDEN, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an overridden public method with error. */ +qx.Class.ICON_METHOD_PUB_OVERRIDDEN_ERROR = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_OVERRIDDEN, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of a public static method. */ +qx.Class.ICON_METHOD_PUB_STATIC = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_STATIC ]; +/** {string[]} The icon URL of a public static method with error. */ +qx.Class.ICON_METHOD_PUB_STATIC_ERROR = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_STATIC, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of a public abstract method. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT ]; +/** {string[]} The icon URL of a public abstract method with warning. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT_WARN = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of a public abstract method with error. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT_ERROR = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an overridden public abstract method. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT_OVERRIDDEN = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_OVERRIDDEN ]; +/** {string[]} The icon URL of an overridden public abstract method with warning. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT_OVERRIDDEN_WARN = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_OVERRIDDEN, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an overridden public abstract method with error. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT_OVERRIDDEN_ERROR = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_OVERRIDDEN, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an inherited public abstract method. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT_INHERITED = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_INHERITED ]; +/** {string[]} The icon URL of an inherited public abstract method with warning. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT_INHERITED_WARN = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an inherited public abstract method with error. */ +qx.Class.ICON_METHOD_PUB_ABSTRACT_INHERITED_ERROR = [ qx.Class.ICON_METHOD_PUB, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_ERROR ]; + + +/** {string} The icon URL of a constructor. */ +qx.Class.ICON_METHOD_PUB_CTOR = "api/constructor18.gif"; +/** {string[]} The icon URL of a constructor with error. */ +qx.Class.ICON_METHOD_PUB_CTOR_ERROR = [ qx.Class.ICON_METHOD_PUB_CTOR, qx.Class.OVERLAY_ERROR ]; + + +/** {string} The icon URL of a protected method. */ +qx.Class.ICON_METHOD_PROT = "api/method_protected18.gif"; +/** {string[]} The icon URL of a protected method with warning. */ +qx.Class.ICON_METHOD_PROT_WARN = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_ERROR ]; +/** {string[]} The icon URL of a protected method with error. */ +qx.Class.ICON_METHOD_PROT_ERROR = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an inherited protected method. */ +qx.Class.ICON_METHOD_PROT_INHERITED = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_INHERITED ]; +/** {string[]} The icon URL of an inherited protected method with warning. */ +qx.Class.ICON_METHOD_PROT_INHERITED_WARN = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an inherited protected method with error. */ +qx.Class.ICON_METHOD_PROT_INHERITED_ERROR = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an overridden protected method. */ +qx.Class.ICON_METHOD_PROT_OVERRIDDEN = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_OVERRIDDEN ]; +/** {string[]} The icon URL of an overridden protected method with warning. */ +qx.Class.ICON_METHOD_PROT_OVERRIDDEN_WARN = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_OVERRIDDEN, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an overridden protected method with error. */ +qx.Class.ICON_METHOD_PROT_OVERRIDDEN_ERROR = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_OVERRIDDEN, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of a protected static method. */ +qx.Class.ICON_METHOD_PROT_STATIC = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_STATIC ]; +/** {string[]} The icon URL of a protected static method with error. */ +qx.Class.ICON_METHOD_PROT_STATIC_ERROR = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_STATIC, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an abstract protected method. */ +qx.Class.ICON_METHOD_PROT_ABSTRACT = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_ABSTRACT ]; +/** {string[]} The icon URL of an abstract protected method with warning. */ +qx.Class.ICON_METHOD_PROT_ABSTRACT_WARN = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an abstract protected method with error. */ +qx.Class.ICON_METHOD_PROT_ABSTRACT_ERROR = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_ERROR ]; + +/** {string[]} The icon URL of an inherited abstract protected method. */ +qx.Class.ICON_METHOD_PROT_ABSTRACT_INHERITED = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_INHERITED ]; +/** {string[]} The icon URL of an inherited abstract protected method with warning. */ +qx.Class.ICON_METHOD_PROT_ABSTRACT_INHERITED_WARN = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_WARN ]; +/** {string[]} The icon URL of an inherited abstract protected method with error. */ +qx.Class.ICON_METHOD_PROT_ABSTRACT_INHERITED_ERROR = [ qx.Class.ICON_METHOD_PROT, qx.Class.OVERLAY_ABSTRACT, qx.Class.OVERLAY_INHERITED, qx.Class.OVERLAY_ERROR ]; + + +/** {string} The icon URL of a constant. */ +qx.Class.ICON_CONSTANT = "api/constant18.gif"; +/** {string[]} The icon URL of a constant with error. */ +qx.Class.ICON_CONSTANT_ERROR = [ qx.Class.ICON_CONSTANT, qx.Class.OVERLAY_ERROR ]; diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/Viewer.js b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/Viewer.js new file mode 100755 index 00000000000..f633c0d50e8 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/class/api/Viewer.js @@ -0,0 +1,386 @@ +/* +#module(api) +#resource(css:css) +#resource(images:image) +*/ + +/** + * The API viewer. Shows the API documentation. + */ +qx.OO.defineClass("api.Viewer", qx.ui.layout.HorizontalBoxLayout, +function () { + qx.ui.layout.HorizontalBoxLayout.call(this); + + this.setEdge(0); + + this._titlePrefix = this.getSetting("title") + " API Documentation"; + document.title = this._titlePrefix; + + this._tree = new qx.ui.tree.Tree("API Documentation"); + this._tree.set({ + backgroundColor: "white", + overflow: "scroll", + width: "22%", + minWidth : 150, + maxWidth : 300 + }); + this._tree.getManager().addEventListener("changeSelection", this._onTreeSelectionChange, this); + this.add(this._tree); + + this._detailFrame = new qx.ui.layout.CanvasLayout; + this._detailFrame.setWidth("1*"); + this._detailFrame.setBorder(qx.renderer.border.BorderPresets.horizontalDivider); + this._detailFrame.setBackgroundColor("white"); + this._detailFrame.setHtmlProperty("id", "DetailFrame"); + this.add(this._detailFrame); + + this._detailLoader = new qx.ui.embed.HtmlEmbed('

please wait
Loading data...

'); + this._detailLoader.setHtmlProperty("id", "DetailLoader"); + this._detailLoader.setMarginLeft(20); + this._detailLoader.setMarginTop(20); + this._detailFrame.add(this._detailLoader); + + this._classViewer = new api.ClassViewer; + this._detailFrame.add(this._classViewer); + + this._infoViewer = new api.InfoViewer; + this._detailFrame.add(this._infoViewer); + + this._currentTreeType = api.Viewer.PACKAGE_TREE; + + // Workaround: Since navigating in qx.ui.tree.Tree doesn't work, we've to + // maintain a hash that keeps the tree nodes for class names + this._classTreeNodeHash = {}; + this._classTreeNodeHash[api.Viewer.PACKAGE_TREE] = {}; + this._classTreeNodeHash[api.Viewer.INHERITENCE_TREE] = {}; + + api.Viewer.instance = this; + + qx.client.History.getInstance().init(); + qx.client.History.getInstance().addEventListener("request", this._onHistoryRequest, this); +}); + + +/** The documentation tree to show. */ +qx.OO.addProperty({ name:"docTree", type:"object" }); + + +qx.Settings.setDefault("title", "qooxdoo"); +qx.Settings.setDefault("initialTreeDepth", 1); + + +// property checker +qx.Proto._modifyDocTree = function(propValue, propOldValue, propData) { + this._updateTree(propValue); + return true; +} + + +/** + * Loads the API doc tree from a URL. The URL must point to a JSON encoded + * doc tree. + * + * @param url {string} the URL. + */ +qx.Proto.load = function(url) +{ + var req = new qx.io.remote.Request(url); + + req.setTimeout(180000); + + req.addEventListener("completed", function(evt) + { + var content = evt.getData().getContent(); + this.setDocTree(eval("(" + content + ")")); + + qx.ui.core.Widget.flushGlobalQueues(); + + // Handle bookmarks + if (window.location.hash) { + var self = this; + window.setTimeout(function() { + self.selectItem(window.location.hash.substring(1)); + }, 0); + } + + this._detailLoader.setHtml('

' + this.getSetting("title") + + '
API Documentation

'); + + }, this); + + req.addEventListener("failed", function(evt) + { + this.error("Couldn't load file: " + url); + }, this); + + req.send(); +} + + +/** + * Updates the tree on the left. + * + * @param docTree {Map} the documentation tree to use for updating. + */ +qx.Proto._updateTree = function(docTree) { + var inheritenceNode = new qx.ui.tree.TreeFolder("Inheritence hierarchy"); + var packagesNode = new qx.ui.tree.TreeFolder("Packages"); + + this._tree.removeAll(); + this._tree.add(inheritenceNode, packagesNode); + + // Fille the packages tree (and fill the _topLevelClassNodeArr) + this._topLevelClassNodeArr = []; + this._fillPackageNode(packagesNode, docTree, 0); + + // Sort the _topLevelClassNodeArr + this._topLevelClassNodeArr.sort(function (node1, node2) { + return (node1.attributes.fullName < node2.attributes.fullName) ? -1 : 1; + }); + + // Fill the inheritence tree + for (var i = 0; i < this._topLevelClassNodeArr.length; i++) { + this._createInheritanceNode(inheritenceNode, this._topLevelClassNodeArr[i], docTree); + } + + packagesNode.open(); + + if (this._wantedClassName) { + this.showClassByName(this._wantedClassName); + this._wantedClassName = null; + } +} + + +/** + * Fills a package tree node with tree nodes for the sub packages and classes. + * + * @param treeNode {qx.ui.tree.TreeFolder} the package tree node. + * @param docNode {Map} the documentation node of the package. + */ +qx.Proto._fillPackageNode = function(treeNode, docNode, depth) { + var ApiViewer = api.Viewer; + var TreeUtil = api.TreeUtil; + + var packagesDocNode = TreeUtil.getChild(docNode, "packages"); + if (packagesDocNode && packagesDocNode.children) { + for (var i = 0; i < packagesDocNode.children.length; i++) { + var packageDocNode = packagesDocNode.children[i]; + var iconUrl = TreeUtil.getIconUrl(packageDocNode); + var packageTreeNode = new qx.ui.tree.TreeFolder(packageDocNode.attributes.name, iconUrl); + packageTreeNode.docNode = packageDocNode; + treeNode.add(packageTreeNode); + + this._fillPackageNode(packageTreeNode, packageDocNode, depth+1); + + // Open the package node if it has child packages + if (depth < this.getSetting("initialTreeDepth") && TreeUtil.getChild(packageDocNode, "packages")) { + packageTreeNode.open(); + } + + // Register the tree node + this._classTreeNodeHash[ApiViewer.PACKAGE_TREE][packageDocNode.attributes.fullName] = packageTreeNode; + } + } + + var classesDocNode = TreeUtil.getChild(docNode, "classes"); + if (classesDocNode && classesDocNode.children) { + for (var i = 0; i < classesDocNode.children.length; i++) { + var classDocNode = classesDocNode.children[i]; + var iconUrl = TreeUtil.getIconUrl(classDocNode); + var classTreeNode = new qx.ui.tree.TreeFolder(classDocNode.attributes.name, iconUrl); + classTreeNode.docNode = classDocNode; + classTreeNode.treeType = ApiViewer.PACKAGE_TREE; + treeNode.add(classTreeNode); + + // Register the tree node + this._classTreeNodeHash[ApiViewer.PACKAGE_TREE][classDocNode.attributes.fullName] = classTreeNode; + + // Check whether this is a top-level-class + if (classDocNode.attributes.superClass == null) { + this._topLevelClassNodeArr.push(classDocNode); + } + } + } +} + + +/** + * Creates the tree node for a class containing class nodes for all its child + * classes. + * + * @param classDocNode {Map} the documentation node of the class. + * @param docTree {Map} the documentation tree. + */ +qx.Proto._createInheritanceNode = function(parentTreeNode, classDocNode, docTree) { + var ApiViewer = api.Viewer; + var TreeUtil = api.TreeUtil; + + // Create the tree node + var iconUrl = TreeUtil.getIconUrl(classDocNode); + var classTreeNode = new qx.ui.tree.TreeFolder(classDocNode.attributes.fullName, iconUrl); + classTreeNode.docNode = classDocNode; + classTreeNode.treeType = ApiViewer.INHERITENCE_TREE; + parentTreeNode.add(classTreeNode); + + // Register the tree node + this._classTreeNodeHash[ApiViewer.INHERITENCE_TREE][classDocNode.attributes.fullName] = classTreeNode; + + // Add all child classes + var childClassNameCsv = classDocNode.attributes.childClasses; + if (childClassNameCsv) { + var childClassNameArr = childClassNameCsv.split(","); + for (var i = 0; i < childClassNameArr.length; i++) { + var childClassDocNode = TreeUtil.getClassDocNode(docTree, childClassNameArr[i]); + this._createInheritanceNode(classTreeNode, childClassDocNode, docTree); + } + } +} + + +/** + * Event handler. Called when the tree selection has changed. + * + * @param evt {Map} the event. + */ +qx.Proto._onTreeSelectionChange = function(evt) +{ + var treeNode = evt.getData()[0]; + + if (treeNode && treeNode.docNode) + { + var newTitle = this._titlePrefix + " - class " + treeNode.docNode.attributes.fullName; + + qx.client.History.getInstance().addToHistory(treeNode.docNode.attributes.fullName, newTitle); + + this._currentTreeType = treeNode.treeType; + + this._selectTreeNode(treeNode); + + window.location.hash = "#" + treeNode.docNode.attributes.fullName; + } +} + + +qx.Proto._onHistoryRequest = function(evt) +{ + this.showClassByName(evt.getData()); +} + +qx.Proto._selectTreeNode = function(vTreeNode) +{ + if (!(vTreeNode && vTreeNode.docNode)) { + this.error("Invalid tree node: " + vTreeNode); + } + + var vDoc = vTreeNode.docNode; + + this._detailLoader.setVisibility(false); + + if (vDoc.type == "class") + { + this._infoViewer.setVisibility(false); + this._classViewer.showClass(vDoc); + this._classViewer.setVisibility(true); + } + else + { + this._classViewer.setVisibility(false); + this._infoViewer.showInfo(vDoc); + this._infoViewer.setVisibility(true); + } +} + + +/** + * Selects an item (class, property, method or constant). + * + * @param fullItemName {string} the full name of the item to select. + * (e.g. "qx.mypackage.MyClass" or "qx.mypackage.MyClass#myProperty") + */ +qx.Proto.selectItem = function(fullItemName) { + var className = fullItemName; + var itemName = null; + var hashPos = fullItemName.indexOf("#"); + if (hashPos != -1) { + className = fullItemName.substring(0, hashPos); + itemName = fullItemName.substring(hashPos + 1); + + var parenPos = itemName.indexOf("("); + if (parenPos != -1) { + itemName = qx.lang.String.trim(itemName.substring(0, parenPos)); + } + } + + this.showClassByName(className); + if (itemName) { + this._classViewer.showItem(itemName); + } +} + + +/** + * Shows a certain class. + * + * @param className {string} the name of the class to show. + */ +qx.Proto.showClassByName = function(className) { + var treeNode = this._classTreeNodeHash[this._currentTreeType][className]; + + if (treeNode) { + treeNode.setSelected(true); + } else if (this.getDocTree() == null) { + // The doc tree has not been loaded yet + // -> Remeber the wanted class and show when loading is done + this._wantedClassName = className; + } else { + this.error("Unknown class: " + className); + } +} + + +qx.Class.PACKAGE_TREE = 1; +qx.Class.INHERITENCE_TREE = 2; + + + +qx.Proto.dispose = function() +{ + if (this.getDisposed()) { + return; + } + + if (this._tree) + { + this._tree.dispose(); + this._tree = null; + } + + if (this._detailFrame) + { + this._detailFrame.dispose(); + this._detailFrame = null; + } + + if (this._detailLoader) + { + this._detailLoader.dispose(); + this._detailLoader = null; + } + + if (this._classViewer) + { + this._classViewer.dispose(); + this._classViewer = null; + } + + if (this._infoViewer) + { + this._infoViewer.dispose(); + this._infoViewer = null; + } + + this._classTreeNodeHash = null; + + return qx.ui.layout.HorizontalBoxLayout.prototype.dispose.call(this); +} diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/index.html b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/index.html new file mode 100755 index 00000000000..bfd1e22c484 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/index.html @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/css/apiviewer.css b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/css/apiviewer.css new file mode 100755 index 00000000000..3458c8aab3f --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/css/apiviewer.css @@ -0,0 +1,263 @@ +#DetailFrame, +#DetailFrame td, +#DetailFrame th{ + font-family: Verdana, "Lucida Grande", "Bitstream Vera Sans", Tahoma, "Lucida Sans Unicode", Arial, sans-serif; + font-size: 11px; + line-height: 150%; +} + +#DetailFrame h1, +#DetailFrame h2, +#DetailFrame h3, +#DetailFrame h4, +#DetailFrame h5, +#DetailFrame h6{ + font-family: "Trebuchet MS", "Lucida Grande", Verdana, sans-serif; + color: #134275; +} + +#DetailFrame *{ + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} + +#DetailFrame h1 { + font-size: 24px; + margin-bottom: 20px; +} + +#DetailFrame h2 { + font-size: 18px; + margin-bottom: 4px; +} + +#DetailFrame h3 { + font-size: 14px; +} + +#DetailFrame img { + border: 0 none; + vertical-align: middle; +} + +#DetailFrame a:link, +#DetailFrame a:visited{ + color: #134275; +} + +#DetailFrame a:hover, +#DetailFrame a:active{ + color: #134275; + text-decoration: underline; +} + +#DetailFrame td{ + vertical-align: top; + padding: 2px; +} + + + + + +#DetailLoader div.please{ + font-size: 14px; + font-weight: normal; + margin-bottom: 4px; +} + + + + + + +#InfoViewer div.pkgtitle{ + font-size: 14px; + font-weight: normal; + margin-bottom: 4px; +} + + + + + + + + +#ClassViewer div.classDescription{ + font-size: 12px; + + background: #E9F2FB; + border: 1px solid #E9F2FB; + + -moz-border-radius: 5px; + padding: 12px; + padding-top: 4px; + + width: 450px; +} + +#ClassViewer div.classDescription p{ + margin-top: 10px; +} + +#ClassViewer div.packageName{ + font-size: 14px; + font-weight: normal; + margin-bottom: 4px; +} + +#ClassViewer span.typeInfo{ + color: #83B300; + font-weight: normal; +} + + + + + + +#ClassViewer div.infoPanel { + margin-top: 30px; +} + +#ClassViewer div.infoPanel h2{ + cursor: default; +} + +#ClassViewer div.infoPanel span.inheritCheck { + font-weight: normal; + float: right; + font-size: 11px; + vertical-align: bottom; +} + +#ClassViewer div.infoPanel span.inheritCheck input, +#ClassViewer div.infoPanel span.inheritCheck label{ + vertical-align: middle; +} + +#ClassViewer div.infoPanel span.inheritCheck label{ + margin-left: 3px; +} + + + + + + + +#ClassViewer table.info { + table-layout: fixed; +} + +#ClassViewer table.info tr { + background: #FBFFEF; +} + +#ClassViewer table.info tr.marked { + background: #DEFF83; +} + +#ClassViewer table.info tr td, +#ClassViewer div.empty-info-body { + border-top: 1px solid #ECECEC; +} + +#ClassViewer table.info tr td{ + overflow: hidden; +} + +#ClassViewer table.info tr td td{ + border-top: 0 none; + padding: 0; +} + +#ClassViewer table.info td.icon{ + text-align: center; + width: 20px; +} + +#ClassViewer table.info td.type{ + width: 100px; + font-size: 12px; + color: #83B300; + font-weight: bold; +} + +#ClassViewer table.info td.toggle{ + text-align: center; + width: 16px; + padding: 1px; +} + +#ClassViewer table.info td.toggle img{ + cursor: default; +} + +#ClassViewer table.info td.text h3{ + cursor: default; +} + +#ClassViewer span.methodSignature{ + font-size: 12px; + color: #83B300; +} + +#ClassViewer table.info td.type a, +#ClassViewer span.methodSignature a{ + color: #83B300 !important; +} + +#ClassViewer span.methodSignature span.parameterType{ + font-style: italic; +} + +#ClassViewer span.methodSignature span.separator{ + color: #134275; + font-weight: bold; +} + +#ClassViewer span.methodSignature span.parenthesis{ + color: #134275; + font-weight: bold; +} + + + + + +#ClassViewer div.item-detail-headline { + font-weight: bold; + color: #1D65B3; +} + +#ClassViewer div.item-detail-text { + padding-left: 12px; +} + +#ClassViewer div.item-detail-text p{ + display: inline; +} + +#ClassViewer div.item-detail-error { + font-weight: bold; + color: #D61F1C; +} + +#ClassViewer span.item-detail-optional { + font-style: italic; +} + +#ClassViewer code, +#ClassViewer span.item-detail-param-name { + font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", monospace; + background: #E9F2FB; + padding: 1px; +} + +#ClassViewer span.caps{ + color: #134275; +} diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class18.gif new file mode 100755 index 00000000000..df8c9291c74 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_abstract18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_abstract18.gif new file mode 100755 index 00000000000..788abd70949 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_abstract18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_abstract_warning18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_abstract_warning18.gif new file mode 100755 index 00000000000..135f68cffda Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_abstract_warning18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_static18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_static18.gif new file mode 100755 index 00000000000..5eb75aea09d Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_static18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_static_warning18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_static_warning18.gif new file mode 100755 index 00000000000..75a6c72035c Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_static_warning18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_warning18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_warning18.gif new file mode 100755 index 00000000000..95e7a327f9e Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/class_warning18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/close.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/close.gif new file mode 100755 index 00000000000..3377fb65de9 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/close.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/constant18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/constant18.gif new file mode 100755 index 00000000000..c3a5d0cedf7 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/constant18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/constructor18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/constructor18.gif new file mode 100644 index 00000000000..b3645ac80aa Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/constructor18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/event18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/event18.gif new file mode 100644 index 00000000000..d3555ff96dd Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/event18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/method_protected18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/method_protected18.gif new file mode 100755 index 00000000000..be71bae519c Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/method_protected18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/method_public18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/method_public18.gif new file mode 100755 index 00000000000..67b1785dba2 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/method_public18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/nextlevel.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/nextlevel.gif new file mode 100755 index 00000000000..48b81c80a9e Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/nextlevel.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/open.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/open.gif new file mode 100755 index 00000000000..30f815aa300 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/open.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_abstract18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_abstract18.gif new file mode 100755 index 00000000000..16122bf4d64 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_abstract18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_constructor18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_constructor18.gif new file mode 100755 index 00000000000..d408fe8e571 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_constructor18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_error18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_error18.gif new file mode 100755 index 00000000000..ffde061d694 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_error18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_inherited18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_inherited18.gif new file mode 100755 index 00000000000..81e4906fe70 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_inherited18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_overridden18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_overridden18.gif new file mode 100755 index 00000000000..bca3e80c48a Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_overridden18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_static18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_static18.gif new file mode 100755 index 00000000000..4b1afa1a352 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_static18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_warning18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_warning18.gif new file mode 100755 index 00000000000..ce74a2a0f2f Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/overlay_warning18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/package18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/package18.gif new file mode 100755 index 00000000000..907110110de Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/package18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/package_warning18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/package_warning18.gif new file mode 100755 index 00000000000..2cb875be2be Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/package_warning18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/property18.gif b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/property18.gif new file mode 100755 index 00000000000..ab4153d6d63 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/api/source/resource/image/property18.gif differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/Makefile b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/Makefile new file mode 100644 index 00000000000..95a60c59cdb --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/Makefile @@ -0,0 +1,159 @@ +################################################################################### +# VARIABLES +################################################################################### + +FRAMEWORK=../framework +GENERATOR=$(FRAMEWORK)/tool/generator.py +CACHE=$(FRAMEWORK)/.cache +SOURCELOADER= +NICE=10 + +ifneq ($(SOURCELOADER),) + SOURCELDR = --source-loader-type $(SOURCELOADER) +else + SOURCELDR = +endif + + +################################################################################### +# DEFAULT TARGET +################################################################################### + +all: build + + + +################################################################################### +# COMMON TARGETS +################################################################################### + +source: generate-script-source update-layout-source +build: generate-script-build update-layout-build fix-build-rights +sync: revision-bump build sync-qooxdoo-org + + + +################################################################################### +# CLEANUP TARGETS +################################################################################### + +clean: + @echo + @echo " CLEANUP OF GENERATED FILES" + @echo "----------------------------------------------------------------------------" + @echo " * Deleting files..." + @rm -rf source/script + +realclean: clean + @echo + @echo " CLEANUP OF GENERATED FILES (REAL)" + @echo "----------------------------------------------------------------------------" + @echo " * Deleting files..." + @nice -n $(NICE) rm -rf build + +distclean: realclean + @echo + @echo " CLEANUP OF GENERATED FILES (DIST)" + @echo "----------------------------------------------------------------------------" + @echo " * Deleting files..." + @nice -n $(NICE) find . -name "*~" -o -name "*.bak" -o -name "*.old" | xargs rm -rf + @nice -n $(NICE) rm -rf $(CACHE) + + + +################################################################################### +# GENERATOR TARGETS +################################################################################### + +generate-script-source: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --source-script-path ../../../$(FRAMEWORK)/source/class \ + --generate-source-script $(SOURCELDR) \ + --source-script-file source/script/qx.js \ + --define-runtime-setting qx.manager.object.AliasManager.resourceUri:../../../$(FRAMEWORK)/source/resource \ + --cache-directory $(CACHE) + +generate-script-build: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --generate-compiled-script \ + --compiled-script-file build/script/qx.js \ + --optimize-strings \ + --optimize-variables \ + --copy-resources \ + --resource-input $(FRAMEWORK)/source/resource \ + --resource-output build/resource \ + --define-runtime-setting qx.manager.object.AliasManager.resourceUri:../../resource \ + --cache-directory $(CACHE) + +generate-script-build-test: + @chmod u+x $(GENERATOR) && nice -n $(NICE) $(GENERATOR) \ + --script-input $(FRAMEWORK)/source/class \ + --generate-compiled-script \ + --compiled-script-file build/script/qx.js \ + --optimize-strings \ + --optimize-variables \ + --obfuscate-identifiers --add-new-lines --add-file-ids \ + --copy-resources \ + --resource-input $(FRAMEWORK)/source/resource \ + --resource-output build/resource \ + --define-runtime-setting qx.manager.object.AliasManager.resourceUri:../../resource \ + --cache-directory $(CACHE) + + +################################################################################### +# FILE RELATED TARGETS +################################################################################### + +update-layout-source: + @echo + @echo " CREATION OF DEMO LAYOUT (SOURCE)" + @echo "----------------------------------------------------------------------------" + @echo " * Generating..." + @chmod u+x tool/layout.sh && nice -n $(NICE) tool/layout.sh source/script/layout.js source/html SOURCE + +update-demo-build: + @echo + @echo " CREATE COPY OF HTML FILES" + @echo "----------------------------------------------------------------------------" + @echo " * Copying files..." + @mkdir -p build + @cp -f source/index.html build/ + @mkdir -p build/html + @nice -n $(NICE) rsync --recursive --links --delete --exclude=.svn source/html/* build/html + @mkdir -p build/resource/css + @nice -n $(NICE) rsync --recursive --links --delete --exclude=.svn source/resource/css/* build/resource/css + +update-layout-build: update-demo-build + @echo + @echo " CREATION OF DEMO LAYOUT (BUILD)" + @echo "----------------------------------------------------------------------------" + @echo " * Generating..." + @chmod u+x tool/layout.sh && nice -n $(NICE) tool/layout.sh build/script/layout.js build/html BUILD + +fix-build-rights: + @echo + @echo " FIX RIGHTS ON BUILD FILES" + @echo "----------------------------------------------------------------------------" + @echo " * Fixing file rights..." + @nice -n $(NICE) find build -type d | xargs chmod a+rx + @nice -n $(NICE) find build -type f | xargs chmod a+r + + + + + +################################################################################### +# ONLINE TARGETS +################################################################################### + +revision-bump: + @$(MAKE) -C ../framework revision-bump + +sync-qooxdoo-org: + @echo + @echo " SYNC FILES TO HOMEPAGE" + @echo "----------------------------------------------------------------------------" + @echo " * Syncing..." + @nice -n $(NICE) rsync --checksum --recursive --archive --delete --verbose build/* root@qooxdoo.org:/var/www/qooxdoo/demo diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/at-a-glance/AtAGlance.js b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/at-a-glance/AtAGlance.js new file mode 100644 index 00000000000..e2570aa3109 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/at-a-glance/AtAGlance.js @@ -0,0 +1,1303 @@ +/* ************************************************************************ + + qooxdoo - the new era of web development + + Copyright: + 2004-2006 by 1&1 Internet AG, Germany + http://www.1und1.de | http://www.1and1.com + All rights reserved + + License: + LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/ + + Internet: + * http://qooxdoo.org + + Authors: + * Sebastian Werner (wpbasti) + + * Andreas Ecker (ecker) + + * Til Schneider (til132) + + +************************************************************************ */ + +qx.OO.defineClass("AtAGlance", qx.core.Object, +function () { + qx.core.Object.call(this); + + var barView = new qx.ui.pageview.buttonview.ButtonView; + + barView.setLocation(10, 10); + barView.setRight(10); + barView.setBottom(10); + + barView.addToDocument(); + + this._createPage(barView, "Form", "icon/32/wordprocessor.png", this._createFormDemo(), "threedface"); + this._createPage(barView, "Tooltip", "icon/32/run.png", this._createTooltipDemo()); + this._createPage(barView, "Menu and Toolbar", "icon/32/display.png", this._createToolbarDemo()); + this._createPage(barView, "Tab", "icon/32/contents.png", this._createTabDemo(), "threedface", true); + this._createPage(barView, "Tree", "icon/32/view-sidetree.png", this._createTreeDemo(), "threedface"); + this._createPage(barView, "List", "icon/32/view-detailed.png", this._createListDemo(), "threedface"); + this._createPage(barView, "ListView", "icon/32/view-multicolumn.png", this._createListViewDemo(), "threedface"); + this._createPage(barView, "Table", "icon/32/view-multicolumn.png", this._createTableDemo(), "threedface", true); + this._createPage(barView, "DateChooser", "icon/32/date.png", this._createDateChooserDemo(), "threedface"); + this._createPage(barView, "Native Window", "icon/32/display.png", this._createNativeWindowDemo(), "threedface"); + this._createPage(barView, "Internal Window", "icon/32/look-and-feel.png", this._createInternalWindowDemo(), null, true); + this._createPage(barView, "Themes", "icon/32/style.png", this._createThemesDemo()); +}); + + +qx.Proto._createPage = function(barView, title, iconUrl, widget, backgroundColor, scrolls) { + var bt = new qx.ui.pageview.buttonview.Button(title, iconUrl); + if (barView.getBar().isEmpty()) { + bt.setChecked(true); + } + + barView.getBar().add(bt); + + var page = new qx.ui.pageview.buttonview.Page(bt); + barView.getPane().add(page); + + page.set({ left:0, right:0, top:0, bottom:0 }); + + widget.setLocation(0, 0); + widget.set({ left:0, right:0, bottom:0, right:0 }); + if (!scrolls) { + widget.set({ height:null, width:null, overflow:"auto" }); + } + + if (backgroundColor) { + page.setBackgroundColor(backgroundColor); + } + + page.add(widget); + + return page; +} + + +qx.Proto._createFormDemo = function() { + var main = new qx.ui.layout.VerticalBoxLayout; + main.setPadding(10); + + var groupWidth = 285; + + // fields + var group1 = new qx.ui.groupbox.GroupBox("Some controls", "icon/16/configure.png"); + group1.setDimension("auto", "auto"); + main.add(group1); + + var gl = new qx.ui.layout.GridLayout; + group1.add(gl); + + gl.setDimension(groupWidth - 26, "auto"); + gl.setColumnCount(2); + gl.setRowCount(6); + gl.setVerticalSpacing(4); + gl.setHorizontalSpacing(6); + + gl.setColumnWidth(0, 70); + gl.setColumnWidth(1, 180); + + //gl.setColumnHorizontalAlignment(0, "right"); + gl.setColumnVerticalAlignment(0, "middle"); + + gl.setRowHeight(0, 20); + gl.setRowHeight(1, 20); + gl.setRowHeight(2, 20); + gl.setRowHeight(3, 20); + gl.setRowHeight(4, 70); + gl.setRowHeight(5, 20); + + gl.add(new qx.ui.basic.Label("Name"), 0, 0); + gl.add(new qx.ui.form.TextField, 1, 0); + gl.add(new qx.ui.basic.Label("Amount"), 0, 1); + gl.add(new qx.ui.form.Spinner, 1, 1); + gl.add(new qx.ui.basic.Label("Type"), 0, 2); + + var combo = new qx.ui.form.ComboBox; + combo.add(new qx.ui.form.ListItem("CD")); //, "icon/16/cd.png")); + combo.add(new qx.ui.form.ListItem("Clock")); //, "icon/16/clock.png")); + combo.add(new qx.ui.form.ListItem("Modem")); //, "icon/16/modem.png")); + combo.add(new qx.ui.form.ListItem("Network")); //, "icon/16/network.png")); + combo.add(new qx.ui.form.ListItem("Sound")); //, "icon/16/mixer.png")); + combo.add(new qx.ui.form.ListItem("PDA")); //, "icon/16/pda.png")); + combo.add(new qx.ui.form.ListItem("Printer")); //, "icon/16/printer.png")); + combo.add(new qx.ui.form.ListItem("Scanner")); //, "icon/16/scanner.png")); + combo.add(new qx.ui.form.ListItem("TV")); //, "icon/16/tv.png")); + gl.add(combo, 1, 2); + + gl.add(new qx.ui.basic.Label("E-Mail"), 0, 3); + gl.add(new qx.ui.form.TextField, 1, 3); + + var label6 = new qx.ui.basic.Label("Comment"); + label6.setVerticalAlign("top"); + label6.setVerticalAlign("top"); + gl.add(label6, 0, 4); + + gl.add(new qx.ui.form.TextArea, 1, 4); + + var input7 = new qx.ui.form.Button("Submit", "icon/16/apply.png"); + input7.setHorizontalAlign("right"); + gl.add(input7, 1, 5); + + // Checkboxes + var group2 = new qx.ui.groupbox.GroupBox("Some settings"); + group2.setDimension(groupWidth, "auto"); + main.add(group2); + + var bl = new qx.ui.layout.VerticalBoxLayout; + group2.add(bl); + + bl.add(new qx.ui.form.CheckBox("Permit others to view my favorites")); + + var chb = new qx.ui.form.CheckBox("Use the very high bitrate"); + chb.setChecked(true); + bl.add(chb); + + // Radio buttons + var group3 = new qx.ui.groupbox.GroupBox("Network speed", "icon/16/network.png"); + group3.setDimension(groupWidth, "auto"); + main.add(group3); + + var bl = new qx.ui.layout.VerticalBoxLayout; + group3.add(bl); + + var radio1 = new qx.ui.form.RadioButton("Modem"); + var radio2 = new qx.ui.form.RadioButton("DSL"); + var radio3 = new qx.ui.form.RadioButton("Direct link"); + radio2.setChecked(true); + bl.add(radio1, radio2, radio3); + new qx.manager.selection.RadioManager("network", [radio1, radio2, radio3]); + + return main; +} + + +qx.Proto._createTooltipDemo = function() { + var main = new qx.ui.layout.HorizontalBoxLayout; + main.setPadding(10); + main.setSpacing(10); + + var c1 = new qx.ui.basic.Atom("Hover me", "icon/32/run.png"); + c1.setPadding(5); + c1.setBorder(qx.renderer.border.BorderPresets.getInstance().outset); + c1.setBackgroundColor(new qx.renderer.color.Color("#BDD2EF")); + c1.setToolTip(new qx.ui.popup.ToolTip("Look at this")); + main.add(c1); + + var c2 = new qx.ui.basic.Atom("Hover me", "icon/32/toys.png"); + c2.setPadding(5); + c2.setBorder(qx.renderer.border.BorderPresets.getInstance().outset); + c2.setBackgroundColor(new qx.renderer.color.Color("#D1DFAD")); + c2.setToolTip(new qx.ui.popup.ToolTip("Images are also possible", "icon/16/help.png")); + main.add(c2); + + var c3 = new qx.ui.basic.Atom("Hover me", "icon/32/penguin.png"); + c3.setPadding(5); + c3.setBorder(qx.renderer.border.BorderPresets.getInstance().outset); + c3.setBackgroundColor(new qx.renderer.color.Color("#D1A4AD")); + var tip3 = new qx.ui.popup.ToolTip('Such a great tooltip with a show timeout of 50ms.
And HTML', "icon/32/penguin.png"); + tip3.setShowInterval(50); + c3.setToolTip(tip3); + main.add(c3); + + return main; +} + + +qx.Proto._createToolbarDemo = function() { + var doc = qx.ui.core.ClientDocument.getInstance(); + + var main = new qx.ui.layout.VerticalBoxLayout; + main.setPadding(10); + + // Menu + var m1 = new qx.ui.menu.Menu; + var mb1_01 = new qx.ui.menu.Button("New", "icon/16/file-new.png"); + var mb1_02 = new qx.ui.menu.Button("Open", "icon/16/file-open.png"); + var mb1_03 = new qx.ui.menu.Button("Save", "icon/16/file-save.png"); + var mb1_04 = new qx.ui.menu.Button("Save as", "icon/16/file-save-as.png"); + var mb1_05 = new qx.ui.menu.Button("Close", "icon/16/stop.png"); + var mb1_06 = new qx.ui.menu.Button("Restore last saved", "icon/16/reload.png"); + m1.add(mb1_01, mb1_02, mb1_03, mb1_04, mb1_05, mb1_06); + + var m2 = new qx.ui.menu.Menu; + var mb2_01 = new qx.ui.menu.Button("Undo", "icon/16/undo.png"); + var mb2_02 = new qx.ui.menu.Button("Redo", "icon/16/redo.png"); + var mb2_b1 = new qx.ui.menu.Separator(); + var mb2_03 = new qx.ui.menu.Button("Cut", "icon/16/edit-cut.png"); + var mb2_04 = new qx.ui.menu.Button("Copy", "icon/16/edit-copy.png"); + var mb2_05 = new qx.ui.menu.Button("Paste", "icon/16/edit-paste.png"); + var mb2_06 = new qx.ui.menu.Button("Delete", "icon/16/edit-delete.png"); + var mb2_b2 = new qx.ui.menu.Separator(); + var mb2_07 = new qx.ui.menu.Button("Select All"); + var mb2_08 = new qx.ui.menu.Button("Find", "icon/16/find.png"); + var mb2_09 = new qx.ui.menu.Button("Find Again"); + mb2_05.setEnabled(false); + mb2_06.setEnabled(false); + mb2_09.setEnabled(false); + m2.add(mb2_01, mb2_02, mb2_b1, mb2_03, mb2_04, mb2_05, mb2_06, mb2_b2, mb2_07, mb2_08, mb2_09); + + var m3 = new qx.ui.menu.Menu; + var m3_suba = new qx.ui.menu.Menu; + var m3_subb = new qx.ui.menu.Menu; + var m3_subc = new qx.ui.menu.Menu; + var m3_subd = new qx.ui.menu.Menu; + + var mb3_01 = new qx.ui.menu.CheckBox("File List", null, false); + var mb3_02 = new qx.ui.menu.CheckBox("Syntax Highlighting", null, true); + var mb3_03 = new qx.ui.menu.CheckBox("Statusbar", null, true); + var mb3_b1 = new qx.ui.menu.Separator(); + var mb3_04 = new qx.ui.menu.Button("Printer Font", null, null, m3_suba); + var mb3_05 = new qx.ui.menu.Button("Editor Font", null, null, m3_subb); + var mb3_06 = new qx.ui.menu.Button("Export Font", null, null, m3_subc); + var mb3_b2 = new qx.ui.menu.Separator(); + var mb3_07 = new qx.ui.menu.Button("Advanced", null, null, m3_subd); + m3.add(mb3_01, mb3_02, mb3_03, mb3_b1, mb3_04, mb3_05, mb3_06, mb3_b2, mb3_07); + + var mb3_suba_01 = new qx.ui.menu.Button("Tahoma, 11pt"); + var mb3_suba_02 = new qx.ui.menu.Button("Tahoma, 12pt"); + var mb3_suba_03 = new qx.ui.menu.Button("Tahoma, 13pt"); + var mb3_suba_04 = new qx.ui.menu.Button("Tahoma, 14pt"); + var mb3_suba_05 = new qx.ui.menu.Button("Tahoma, 15pt"); + m3_suba.add(mb3_suba_01, mb3_suba_02, mb3_suba_03, mb3_suba_04, mb3_suba_05); + + var mb3_subb_01 = new qx.ui.menu.Button("Verdana, 11pt"); + var mb3_subb_02 = new qx.ui.menu.Button("Verdana, 12pt"); + var mb3_subb_03 = new qx.ui.menu.Button("Verdana, 13pt"); + var mb3_subb_04 = new qx.ui.menu.Button("Verdana, 14pt"); + var mb3_subb_05 = new qx.ui.menu.Button("Verdana, 15pt"); + m3_subb.add(mb3_subb_01, mb3_subb_02, mb3_subb_03, mb3_subb_04, mb3_subb_05); + + var mb3_subc_01 = new qx.ui.menu.Button("Courier, 11pt"); + var mb3_subc_02 = new qx.ui.menu.Button("Courier, 12pt"); + var mb3_subc_03 = new qx.ui.menu.Button("Courier, 13pt"); + var mb3_subc_04 = new qx.ui.menu.Button("Courier, 14pt"); + var mb3_subc_05 = new qx.ui.menu.Button("Courier, 15pt"); + m3_subc.add(mb3_subc_01, mb3_subc_02, mb3_subc_03, mb3_subc_04, mb3_subc_05); + + var mb3_subd_02_suba = new qx.ui.menu.Menu(); + var mb3_subd_02_suba_01 = new qx.ui.menu.Button("First"); + var mb3_subd_02_suba_02 = new qx.ui.menu.Button("Second"); + var mb3_subd_02_suba_03 = new qx.ui.menu.Button("Third"); + mb3_subd_02_suba.add(mb3_subd_02_suba_01, mb3_subd_02_suba_02, mb3_subd_02_suba_03); + + var mb3_subd_01 = new qx.ui.menu.Button("First"); + var mb3_subd_02 = new qx.ui.menu.Button("Second", null, null, mb3_subd_02_suba); + var mb3_subd_03 = new qx.ui.menu.Button("Third"); + + m3_subd.add(mb3_subd_01, mb3_subd_02, mb3_subd_03); + + var m4 = new qx.ui.menu.Menu; + var m4_suba = new qx.ui.menu.Menu; + + var mb4_01 = new qx.ui.menu.Button("View", null, null, m4_suba); + var mb4_b1 = new qx.ui.menu.Separator(); + var mb4_02 = new qx.ui.menu.Button("Editor Preferences...", "icon/16/configure.png"); + var mb4_03 = new qx.ui.menu.Button("Editor Extensions", "icon/16/connect-established.png"); + var mb4_04 = new qx.ui.menu.Button("Framework Preferences"); + + m4.add(mb4_01, mb4_b1, mb4_02, mb4_03, mb4_04); + + var mb4_suba_01 = new qx.ui.menu.Button("New Window"); + var mb4_suba_b1 = new qx.ui.menu.Separator(); + var mb4_suba_02 = new qx.ui.menu.RadioButton("Overlapping", null, true); + var mb4_suba_03 = new qx.ui.menu.RadioButton("Split Horizontally"); + var mb4_suba_04 = new qx.ui.menu.RadioButton("Split Vertically"); + var mb4_suba_b2 = new qx.ui.menu.Separator(); + var mb4_suba_05 = new qx.ui.menu.Button("Next Window"); + var mb4_suba_06 = new qx.ui.menu.Button("Previous Window"); + + m4_suba.add(mb4_suba_01, mb4_suba_b1, mb4_suba_02, mb4_suba_03, mb4_suba_04, mb4_suba_b2, mb4_suba_05, mb4_suba_06); + + var mb4_manager = new qx.manager.selection.RadioManager("windowMode", [ mb4_suba_02, mb4_suba_03, mb4_suba_04 ]); + + var m5 = new qx.ui.menu.Menu; + var mb5_01 = new qx.ui.menu.Button("Help", "icon/16/help.png"); + var mb5_02 = new qx.ui.menu.Button("About", "icon/16/run.png"); + m5.add(mb5_01, mb5_02); + + doc.add(m1, m2, m3, m3_suba, m3_subb, m3_subc, m3_subd, mb3_subd_02_suba, m4, m4_suba, m5); + + var mb1 = new qx.ui.toolbar.ToolBar; + var mbb1 = new qx.ui.toolbar.MenuButton("File", m1); + var mbb2 = new qx.ui.toolbar.MenuButton("Edit", m2); + var mbb3 = new qx.ui.toolbar.MenuButton("View", m3); + var mbb4 = new qx.ui.toolbar.MenuButton("Options", m4); + var mbb5 = new qx.ui.toolbar.MenuButton("Help", m5); + mb1.add(mbb1, mbb2, mbb3, mbb4, mbb5); + main.add(mb1); + + // Toolbar + function changeLayout(e) { + this.setShow(e.getData()); + } + + function changeSize(e) { + var v = e.getData(); + var o = v == 22 ? 32 : 22; + + this.setIcon(this.getIcon().replace(o, v)); + } + + function createButton(text, icon, clazz, checked) { + if (! clazz) { + clazz = qx.ui.toolbar.Button; + } + + var button = new clazz(text, "icon/22/" + icon + ".png"); + doc.addEventListener("changeLayout", changeLayout, button); + doc.addEventListener("changeSize", changeSize, button); + + if (checked) { + button.setChecked(true); + } + + return button; + } + + var tb = new qx.ui.toolbar.ToolBar; + main.add(tb); + + var part = new qx.ui.toolbar.Part; + tb.add(part); + part.add(createButton("New", "file-new")); + part.add(new qx.ui.toolbar.Separator); + part.add(createButton("Copy", "edit-copy")); + part.add(createButton("Cut", "edit-cut")); + part.add(createButton("Paste", "edit-paste")); + + var part = new qx.ui.toolbar.Part; + tb.add(part); + part.add(createButton("Check", "configure", qx.ui.toolbar.CheckBox, true)); + + var part = new qx.ui.toolbar.Part; + tb.add(part); + var radio1 = createButton("Radio1", "view-choose", qx.ui.toolbar.RadioButton); + var radio2 = createButton("Radio2", "view-detailed", qx.ui.toolbar.RadioButton, true); + var radio3 = createButton("Radio3", "view-icon", qx.ui.toolbar.RadioButton); + part.add(radio1, radio2, radio3); + new qx.manager.selection.RadioManager(null, [radio1, radio2, radio3]); + + // Toolbar manipulation + var hor = new qx.ui.layout.HorizontalBoxLayout; + hor.setDimension("auto", "auto"); + hor.set({ spacing:10, marginTop:20 }); + main.add(hor); + + var vert = new qx.ui.layout.VerticalBoxLayout; + vert.setDimension("auto", "auto"); + hor.add(vert); + + var radio1 = new qx.ui.form.RadioButton("Show Icons and Label", "both"); + var radio2 = new qx.ui.form.RadioButton("Show Icons", "icon"); + var radio3 = new qx.ui.form.RadioButton("Show Label", "label"); + radio1.setChecked(true); + vert.add(radio1, radio2, radio3); + var rbm = new qx.manager.selection.RadioManager(null, [radio1, radio2, radio3]); + rbm.addEventListener("changeSelected", function(e) { + doc.dispatchEvent( new qx.event.type.DataEvent("changeLayout", e.getData().getValue() ) ); + }); + + // Alignment + var vert = new qx.ui.layout.VerticalBoxLayout; + vert.setDimension("auto", "auto"); + hor.add(vert); + + var radio1 = new qx.ui.form.RadioButton("Left Aligned", "left"); + var radio2 = new qx.ui.form.RadioButton("Centered", "center"); + var radio3 = new qx.ui.form.RadioButton("Right Aligned", "right"); + radio1.setChecked(true); + vert.add(radio1, radio2, radio3); + var rbm = new qx.manager.selection.RadioManager(null, [radio1, radio2, radio3]); + rbm.addEventListener("changeSelected", function(e) { + tb.setHorizontalChildrenAlign(e.getData().getValue()); + }); + + // Icon Sizes + var vert = new qx.ui.layout.VerticalBoxLayout; + vert.setDimension("auto", "auto"); + hor.add(vert); + + var button = new qx.ui.form.Button("Icons: 22 Pixel", "icon/16/colors.png"); + button.setHorizontalAlign("center"); + button.addEventListener("execute", function(e) { + doc.dispatchEvent(new qx.event.type.DataEvent("changeSize", 22)); + }); + vert.add(button); + + var button = new qx.ui.form.Button("Icons: 32 Pixel", "icon/16/colors.png"); + button.setHorizontalAlign("center"); + button.addEventListener("execute", function(e) { + doc.dispatchEvent(new qx.event.type.DataEvent("changeSize", 32)); + }); + vert.add(button); + + return main; +} + + +qx.Proto._createTabDemo = function() { + var main = new qx.ui.layout.HorizontalBoxLayout; + main.setPadding(10); + main.set({ width:"100%", height:"100%", spacing:10 }); + + // Tab view + var tf1 = new qx.ui.pageview.tabview.TabView; + tf1.set({ width:"1*" }); + main.add(tf1); + + var t1_1 = new qx.ui.pageview.tabview.Button("Edit"); + var t1_2 = new qx.ui.pageview.tabview.Button("Find"); + var t1_3 = new qx.ui.pageview.tabview.Button("Backup"); + t1_1.setChecked(true); + tf1.getBar().add(t1_1, t1_2, t1_3); + + var p1_1 = new qx.ui.pageview.tabview.Page(t1_1); + var p1_2 = new qx.ui.pageview.tabview.Page(t1_2); + var p1_3 = new qx.ui.pageview.tabview.Page(t1_3); + tf1.getPane().add(p1_1, p1_2, p1_3); + + p1_2.add(new qx.ui.form.TextField("Find Anywhere")); + p1_3.add(new qx.ui.form.TextField("Backup Input")); + + var c1 = new qx.ui.form.CheckBox("Place bar on top"); + var c2 = new qx.ui.form.CheckBox("Align tabs to left"); + + c1.setTop(0); + c1.setChecked(true); + + c2.setTop(20); + c2.setChecked(true); + + p1_1.add(c1, c2); + + c1.addEventListener("changeChecked", function(e) { + tf1.setPlaceBarOnTop(e.getData()); + }); + + c2.addEventListener("changeChecked", function(e) { + tf1.setAlignTabsToLeft(e.getData()); + }); + + // Inner tab view + var tf2 = new qx.ui.pageview.tabview.TabView; + tf2.set({ left: 0, top: 50, right: 0, bottom: 0 }); + p1_2.add(tf2); + + var t2_1 = new qx.ui.pageview.tabview.Button("Search for Files", "icon/16/file-open.png"); + var t2_2 = new qx.ui.pageview.tabview.Button("Search the Web", "icon/16/network.png"); + var t2_3 = new qx.ui.pageview.tabview.Button("Search in Mails", "icon/16/mail.png"); + t2_1.setChecked(true); + tf2.getBar().add(t2_1, t2_2, t2_3); + + var p2_1 = new qx.ui.pageview.tabview.Page(t2_1); + var p2_2 = new qx.ui.pageview.tabview.Page(t2_2); + var p2_3 = new qx.ui.pageview.tabview.Page(t2_3); + tf2.getPane().add(p2_1, p2_2, p2_3); + + var t2_1 = new qx.ui.form.TextField("Files..."); + var t2_2 = new qx.ui.form.TextField("Web..."); + var t2_3 = new qx.ui.form.TextField("Mails..."); + + t2_1.set({ top: 2, left: 0, width: 140 }); + t2_2.set({ top: 2, left: 0, width: 140 }); + t2_3.set({ top: 2, left: 0, width: 140 }); + + p2_1.add(t2_1); + p2_2.add(t2_2); + p2_3.add(t2_3); + + var b2_1 = new qx.ui.form.Button("Search", "icon/16/search.png"); + var b2_2 = new qx.ui.form.Button("Search", "icon/16/search.png"); + var b2_3 = new qx.ui.form.Button("Search", "icon/16/search.png"); + + b2_1.set({ top: 0, left: 150 }); + b2_2.set({ top: 0, left: 150 }); + b2_3.set({ top: 0, left: 150 }); + + p2_1.add(b2_1); + p2_2.add(b2_2); + p2_3.add(b2_3); + + function dosearch(e) { + alert("Searching..."); + } + + b2_1.addEventListener("click", dosearch); + b2_2.addEventListener("click", dosearch); + b2_3.addEventListener("click", dosearch); + + // Bar view + var bs = new qx.ui.pageview.buttonview.ButtonView; + bs.set({ width:"1*", barPosition:"left" }); + main.add(bs); + + var bsb1 = new qx.ui.pageview.buttonview.Button("Display", "icon/16/display.png"); + var bsb2 = new qx.ui.pageview.buttonview.Button("Colorize", "icon/16/colors.png"); + var bsb3 = new qx.ui.pageview.buttonview.Button("Icons", "icon/16/icons.png"); + var bsb4 = new qx.ui.pageview.buttonview.Button("Applications", "icon/16/run.png"); + var bsb5 = new qx.ui.pageview.buttonview.Button("System", "icon/16/display.png"); + + bsb1.setChecked(true); + + bsb1.set({ iconPosition: "left", horizontalChildrenAlign: "left" }); + bsb2.set({ iconPosition: "left", horizontalChildrenAlign: "left" }); + bsb3.set({ iconPosition: "left", horizontalChildrenAlign: "left" }); + bsb4.set({ iconPosition: "left", horizontalChildrenAlign: "left" }); + bsb5.set({ iconPosition: "left", horizontalChildrenAlign: "left" }); + + bs.getBar().add(bsb1, bsb2, bsb3, bsb4, bsb5); + bs.getBar().setHorizontalChildrenAlign("center"); + bs.getBar().setVerticalChildrenAlign("bottom"); + + var p1 = new qx.ui.pageview.buttonview.Page(bsb1); + var p2 = new qx.ui.pageview.buttonview.Page(bsb2); + var p3 = new qx.ui.pageview.buttonview.Page(bsb3); + var p4 = new qx.ui.pageview.buttonview.Page(bsb4); + var p5 = new qx.ui.pageview.buttonview.Page(bsb5); + bs.getPane().add(p1, p2, p3, p4, p5); + + p1.add(new qx.ui.form.TextField("Display Input")); + p2.add(new qx.ui.form.TextField("Paint Input")); + p3.add(new qx.ui.form.TextField("Icons Input")); + p4.add(new qx.ui.form.TextField("Applications Input")); + p5.add(new qx.ui.form.TextField("System Input")); + + var r1 = new qx.ui.form.RadioButton("Top", "top"); + var r2 = new qx.ui.form.RadioButton("Right", "right"); + var r3 = new qx.ui.form.RadioButton("Bottom", "bottom"); + var r4 = new qx.ui.form.RadioButton("Left", "left", null, true); + + r1.setTop(50); + r2.setTop(70); + r3.setTop(90); + r4.setTop(110); + + p1.add(r1, r2, r3, r4); + + var rm = new qx.manager.selection.RadioManager(null, [r1, r2, r3, r4]); + + rm.addEventListener("changeSelected", function(e) { + bs.setBarPosition(e.getData().getValue()); + }); + + return main; +} + + +qx.Proto._createTreeDemo = function() { + var main = new qx.ui.layout.HorizontalBoxLayout; + main.setPadding(10); + main.set({ width:"auto", height:"100%", spacing:10 }); + + // Workaround: qx.ui.tree.Tree causes an exception when added to a qx.ui.core.Parent that + // has no qx.ui.core.Parent. -> So we give the parent a pseudo parent + var workaround = new qx.ui.layout.HorizontalBoxLayout; + workaround.add(main); + + var t = new qx.ui.tree.Tree("Root"); + t.set({ backgroundColor:255, border:qx.renderer.border.BorderPresets.getInstance().inset, + overflow:"scrollY", height:"100%", width:200 }); + main.add(t); + + var te1 = new qx.ui.tree.TreeFolder("Desktop", "icon/16/home.png", "icon/16/home.png"); + t.add(te1); + + var te1_1 = new qx.ui.tree.TreeFolder("Files"); + var te1_2 = new qx.ui.tree.TreeFolder("Workspace"); + var te1_3 = new qx.ui.tree.TreeFolder("Network"); + var te1_4 = new qx.ui.tree.TreeFolder("Trash"); + te1.add(te1_1, te1_2, te1_3, te1_4); + var te1_2_1 = new qx.ui.tree.TreeFile("Windows (C:)", "icon/16/harddrive.png"); + var te1_2_2 = new qx.ui.tree.TreeFile("Documents (D:)", "icon/16/harddrive.png"); + te1_2.add(te1_2_1, te1_2_2); + + var te2 = new qx.ui.tree.TreeFolder("Inbox"); + t.add(te2); + + var te2_1 = new qx.ui.tree.TreeFolder("Presets"); + var te2_2 = new qx.ui.tree.TreeFolder("Sent"); + var te2_3 = new qx.ui.tree.TreeFolder("Trash", "icon/16/trash.png", "icon/16/trash.png"); + var te2_4 = new qx.ui.tree.TreeFolder("Data"); + var te2_5 = new qx.ui.tree.TreeFolder("Edit"); + + var te2_5_1 = new qx.ui.tree.TreeFolder("Chat"); + var te2_5_2 = new qx.ui.tree.TreeFolder("Pustefix"); + var te2_5_3 = new qx.ui.tree.TreeFolder("TINC"); + te2_5.add(te2_5_1, te2_5_2, te2_5_3); + + var te2_5_3_1 = new qx.ui.tree.TreeFolder("Announce"); + var te2_5_3_2 = new qx.ui.tree.TreeFolder("Devel"); + te2_5_3.add(te2_5_3_1, te2_5_3_2); + + var te2_6 = new qx.ui.tree.TreeFolder("Lists"); + + var te2_6_1 = new qx.ui.tree.TreeFolder("Relations"); + var te2_6_2 = new qx.ui.tree.TreeFolder("Company"); + var te2_6_3 = new qx.ui.tree.TreeFolder("Questions"); + var te2_6_4 = new qx.ui.tree.TreeFolder("Internal"); + var te2_6_5 = new qx.ui.tree.TreeFolder("Products"); + var te2_6_6 = new qx.ui.tree.TreeFolder("Press"); + var te2_6_7 = new qx.ui.tree.TreeFolder("Development"); + var te2_6_8 = new qx.ui.tree.TreeFolder("Competition"); + + te2_6.add(te2_6_1, te2_6_2, te2_6_3, te2_6_4, te2_6_5, te2_6_6, te2_6_7, te2_6_8); + + var te2_7 = new qx.ui.tree.TreeFolder("Personal"); + + var te2_7_1 = new qx.ui.tree.TreeFolder("Bugs"); + var te2_7_2 = new qx.ui.tree.TreeFolder("Family"); + var te2_7_3 = new qx.ui.tree.TreeFolder("Projects"); + var te2_7_4 = new qx.ui.tree.TreeFolder("Holiday"); + + te2_7.add(te2_7_1, te2_7_2, te2_7_3, te2_7_4); + + var te2_8 = new qx.ui.tree.TreeFolder("Big"); + + for (var i = 0; i < 50; i++) { + te2_8.add(new qx.ui.tree.TreeFolder("Item " + i)); + } + + var te2_9 = new qx.ui.tree.TreeFolder("Spam"); + + te2.add(te2_1, te2_2, te2_3, te2_4, te2_5, te2_6, te2_7, te2_8, te2_9); + + // Command frame + var commandFrame = new qx.ui.groupbox.GroupBox("Control"); + commandFrame.set({ width:"auto", height:"auto" }); + main.add(commandFrame); + + var command = new qx.ui.layout.VerticalBoxLayout; + command.set({ width:"auto", height:"auto", paddingRight:12 }); + commandFrame.add(command); + + var tCurrentLabel = new qx.ui.basic.Atom("Current Folder: "); + command.add(tCurrentLabel); + + var tCurrentInput = new qx.ui.form.TextField; + tCurrentInput.set({ readOnly:true, marginBottom:20 }); + command.add(tCurrentInput); + + t.getManager().addEventListener("changeSelection", function(e) { + tCurrentInput.setValue(e.getData()[0]._labelObject.getHtml()); + }); + + var tDoubleClick = new qx.ui.form.CheckBox("Use double click?"); + tDoubleClick.addEventListener("changeChecked", function(e) { + t.setUseDoubleClick(e.getData()); + }); + command.add(tDoubleClick); + + var tTreeLines = new qx.ui.form.CheckBox("Use tree lines?"); + tTreeLines.setChecked(true); + tTreeLines.addEventListener("changeChecked", function(e) { t.setUseTreeLines(e.getData()); }); + command.add(tTreeLines); + + return main; +} + + +qx.Proto._createListDemo = function() { + var main = new qx.ui.layout.HorizontalBoxLayout; + main.setPadding(10); + main.set({ width:"auto", height:"100%", spacing:10 }); + + // List + var list = new qx.ui.form.List; + list.set({ height:"100%", width:150, overflow:"scrollY" }); + main.add(list) + + var item; + for(var i = 1; i <= 35; i++) { + var iconName; + switch (parseInt(Math.random() * 5)) { + case 0: iconName = "folder.png"; break; + case 1: iconName = "harddrive.png"; break; + case 2: iconName = "penguin.png"; break; + case 3: iconName = "pda.png"; break; + case 4: iconName = "bell.png"; break; + } + item = new qx.ui.form.ListItem("Item No " + i, "icon/" + ((i % 4) ? "16" : "48") + "/" + iconName); + + if (!(i % 9)) (item.setEnabled(false)); + + list.add(item); + } + + // Control + var control = new qx.ui.layout.VerticalBoxLayout; + control.set({ width:"auto", height:"auto" }); + main.add(control); + + var c1 = new qx.ui.form.CheckBox("Enable Multi-Selection"); + var c2 = new qx.ui.form.CheckBox("Enable Drag-Selection"); + var c3 = new qx.ui.form.CheckBox("Allow Deselection"); + var c4 = new qx.ui.form.CheckBox("Enable Inline Find"); + control.add(c1, c2, c3, c4); + + c1.setChecked(true); + c2.setChecked(true); + c3.setChecked(true); + c4.setChecked(true); + + c1.addEventListener("changeChecked", function(e) { + list.getManager().setMultiSelection(e.getData()); + }); + c2.addEventListener("changeChecked", function(e) { + list.getManager().setDragSelection(e.getData()); + }); + c3.addEventListener("changeChecked", function(e) { + list.getManager().setCanDeselect(e.getData()); + }); + c4.addEventListener("changeChecked", function(e) { + list.setEnableInlineFind(e.getData()); + }); + + var rd1 = new qx.ui.form.RadioButton("Show Label", "label"); + var rd2 = new qx.ui.form.RadioButton("Show Icon", "icon"); + var rd3 = new qx.ui.form.RadioButton("Show Both", "both"); + rd3.setChecked(true); + control.add(rd1, rd2, rd3); + var rbm = new qx.manager.selection.RadioManager( name, [rd1, rd2, rd3]); + + rbm.addEventListener("changeSelected", function(e) { + for (var i = 0; i < list.getChildrenLength(); i++) { + list.getChildren()[i].setShow(e.getData().getValue()); + } + }); + + return main; +} + + +qx.Proto._createListViewDemo = function() { + var main = new qx.ui.layout.HorizontalBoxLayout; + main.setPadding(10); + main.set({ width:"auto", height:"100%", spacing:10 }); + + var ld = []; + var lt = [ "Image", "Text", "PDF", "Illustration", "Document" ]; + + for (var i = 0, t; i < 1000; i++) { + t = Math.round(Math.random() * 4); + ld.push({ name : { html : "E-Mail " + i, icon : "icon/16/email.png", iconWidth : 16, iconHeight : 16 }, size : { text : Math.round(Math.random()*100) + "kb" }, type : { text : lt[t] }, modified : { text : "Nov " + Math.round(Math.random() * 30 + 1) + " 2005" }, rights: { text : "-rw-r--r--" }, open : { uri : "http://www.google.com/search?q=" + i, html : "Open " + i }}); + } + + var lc = { + name : { label : "Name", width : 120, type : "iconHtml" }, + size: { label : "Size", width : 50, type : "text", align : "right" }, + type : { label : "Type", width : 80, type : "text" }, + modified : { label : "Last Modified", width : 150, type : "text" }, + rights : { label : "Rights", width: 80, type : "text" } + } + + var lv = new qx.ui.listview.ListView(ld, lc); + main.add(lv); + + lv.setBorder(qx.renderer.border.BorderPresets.getInstance().shadow); + lv.setBackgroundColor("white"); + lv.setWidth(600); + lv.setHeight(350); + + return main; +} + + +qx.Proto._createTableDemo = function() { + // table model + var tableModel = new qx.ui.table.SimpleTableModel(); + tableModel.setColumns([ "ID", "A number", "A date", "Boolean test" ]); + var rowData = []; + var now = new Date().getTime(); + var dateRange = 400 * 24 * 60 * 60 * 1000; // 400 days + for (var row = 0; row < 100; row++) { + var date = new Date(now + Math.random() * dateRange - dateRange / 2); + rowData.push([ row, Math.random() * 10000, date, (Math.random() > 0.5) ]); + } + tableModel.setData(rowData); + tableModel.setColumnEditable(1, true); + tableModel.setColumnEditable(2, true); + + // table + var table = new qx.ui.table.Table(tableModel); + with (table) { + set({ width:"100%", height:"100%" }); + setMetaColumnCounts([1, -1]); + getSelectionModel().setSelectionMode(qx.ui.table.SelectionModel.MULTIPLE_INTERVAL_SELECTION); + getTableColumnModel().setDataCellRenderer(3, new qx.ui.table.BooleanDataCellRenderer()); + } + + return table; +} + + +qx.Proto._createDateChooserDemo = function() { + var main = new qx.ui.layout.VerticalBoxLayout; + + var chooser = new qx.ui.component.DateChooser; + chooser.setLocation(10, 10); + chooser.setWidth("auto"); + chooser.setHeight("auto"); + main.add(chooser); + + return main; +} + + +qx.Proto._createNativeWindowDemo = function() { + var main = new qx.ui.layout.VerticalBoxLayout; + main.setPadding(10); + main.set({ width:"auto", height:"auto", spacing:5 }); + + var win = new qx.client.NativeWindow("http://www.google.com"); + win.setDimension(600, 400); + + var openBt = new qx.ui.form.Button("Open Native Window", "icon/16/wizard.png"); + openBt.addEventListener("click", function() { win.open(); } ); + main.add(openBt); + + // Initial Settings + var fs1 = new qx.ui.groupbox.GroupBox("Initial Settings"); + fs1.set({ width:250, height:"auto" }); + main.add(fs1); + + var vert = new qx.ui.layout.VerticalBoxLayout; + vert.set({ width:"auto", height:"auto" }); + fs1.add(vert); + + var chk1 = new qx.ui.form.CheckBox("Resizeable"); + chk1.setChecked(true); + chk1.addEventListener("changeChecked", function(e) { + win.setResizeable(e.getData()); + }); + + var chk2 = new qx.ui.form.CheckBox("Show Statusbar"); + chk2.setChecked(false); + chk2.addEventListener("changeChecked", function(e) { + win.setShowStatusbar(e.getData()); + }); + + var chk3 = new qx.ui.form.CheckBox("Show Menubar"); + chk3.setChecked(false); + chk3.addEventListener("changeChecked", function(e) { + win.setShowMenubar(e.getData()); + }); + + var chk4 = new qx.ui.form.CheckBox("Show Location"); + chk4.setChecked(false); + chk4.addEventListener("changeChecked", function(e) { + win.setShowLocation(e.getData()); + }); + + var chk5 = new qx.ui.form.CheckBox("Show Toolbar"); + chk5.setChecked(false); + chk5.addEventListener("changeChecked", function(e) { + win.setShowToolbar(e.getData()); + }); + + var chk6 = new qx.ui.form.CheckBox("Allow Scrollbars"); + chk6.setChecked(true); + chk6.addEventListener("changeChecked", function(e) { + win.setAllowScrollbars(e.getData()); + }); + + var chk7 = new qx.ui.form.CheckBox("Modal"); + chk7.setChecked(false); + chk7.addEventListener("changeChecked", function(e) { + win.setModal(e.getData()); + }); + + var chk8 = new qx.ui.form.CheckBox("Dependent"); + chk8.setChecked(true); + chk8.addEventListener("changeChecked", function(e) { + win.setDependent(e.getData()); + }); + + vert.add(chk1, chk2, chk3, chk4, chk5, chk6, chk7, chk8); + + // Runtime Settings + var fs2 = new qx.ui.groupbox.GroupBox("Runtime Settings"); + fs2.set({ width:250, height:"auto" }); + main.add(fs2); + + var vert = new qx.ui.layout.VerticalBoxLayout; + vert.set({ width:"auto", height:"auto", spacing:2 }); + fs2.add(vert); + + var tf1 = new qx.ui.form.TextField("http://www.google.com"); + tf1.setWidth(150); + + var setUrlBt = new qx.ui.form.Button("Set Url", "icon/16/ok.png"); + setUrlBt.addEventListener("click", function() { + win.setUrl(tf1.getValue()); + }); + + var hor = new qx.ui.layout.HorizontalBoxLayout; + hor.set({ width:"auto", height:"auto", spacing:5, + verticalChildrenAlign:"middle", marginBottom:10 }); + vert.add(hor); + hor.add(tf1, setUrlBt); + + + var tf2 = new qx.ui.form.TextField("600"); + tf2.setWidth(50); + + var btn2 = new qx.ui.form.Button("Set Width", "icon/16/ok.png"); + btn2.addEventListener("click", function() { + win.setWidth(parseInt(tf2.getValue())); + }); + + var hor = new qx.ui.layout.HorizontalBoxLayout; + hor.set({ width:"auto", height:"auto", spacing:5, + verticalChildrenAlign:"middle" }); + vert.add(hor); + hor.add(tf2, btn2); + + + var tf3 = new qx.ui.form.TextField("400"); + tf3.setWidth(50); + + var btn3 = new qx.ui.form.Button("Set Height", "icon/16/ok.png"); + btn3.addEventListener("click", function() { + win.setHeight(parseInt(tf3.getValue())); + }); + + var hor = new qx.ui.layout.HorizontalBoxLayout; + hor.set({ width:"auto", height:"auto", spacing:5, + verticalChildrenAlign:"middle", marginBottom:10 }); + vert.add(hor); + hor.add(tf3, btn3); + + + var btn4 = new qx.ui.form.Button("Center to screen", "icon/16/display.png"); + btn4.setWidth("100%"); + btn4.addEventListener("click", function() { + win.centerToScreen() + }); + + var btn5 = new qx.ui.form.Button("Center to screen area", "icon/16/display.png"); + btn5.setWidth("100%"); + btn5.addEventListener("click", function() { + win.centerToScreenArea() + }); + + var btn6 = new qx.ui.form.Button("Center to opener", "icon/16/display.png"); + btn6.setWidth("100%"); + btn6.addEventListener("click", function() { + win.centerToOpener() + }); + + vert.add(btn4, btn5, btn6); + + return main; +} + + +qx.Proto._createInternalWindowDemo = function() { + var doc = qx.ui.core.ClientDocument.getInstance(); + + var main = new qx.ui.layout.CanvasLayout; + main.setOverflow("hidden"); + + // Create the windows + var w1 = new qx.ui.window.Window("First Window", "icon/16/bell.png"); + w1.setSpace(20, 400, 48, 250); + main.add(w1); + + var w2 = new qx.ui.window.Window("Second Window", "icon/16/colors.png"); + w2.setSpace(250, "auto", 120, "auto"); + main.add(w2); + + var w3 = new qx.ui.window.Window("Third Window", "icon/16/network.png"); + w3.setSpace(100, "auto", 200, "auto"); + w3.set({ maxWidth:450, maxHeight:400 }); + main.add(w3); + + var wm1 = new qx.ui.window.Window("First Modal Dialog"); + wm1.setSpace(150, 200, 150, 200); + wm1.setModal(true); + doc.add(wm1); + + var wm2 = new qx.ui.window.Window("Second Modal Dialog"); + wm2.setSpace(100, 200, 100, 150); + wm2.set({ modal:true, showClose:false }); + doc.add(wm2); + + // Fill window 1 + var a1 = new qx.ui.basic.Atom("Welcome to your first own Window.
Have fun!", "icon/32/chart.png"); + a1.set({ top: 4, left: 4 }); + w1.add(a1); + + var tf1 = new qx.ui.pageview.tabview.TabView; + tf1.set({ left: 10, top: 52, right: 10, bottom: 10 }); + + var t1_1 = new qx.ui.pageview.tabview.Button("Explore"); + var t1_2 = new qx.ui.pageview.tabview.Button("Internet"); + var t1_3 = new qx.ui.pageview.tabview.Button("Future"); + + t1_1.setChecked(true); + + tf1.getBar().add(t1_1, t1_2, t1_3); + + var p1_1 = new qx.ui.pageview.tabview.Page(t1_1); + var p1_2 = new qx.ui.pageview.tabview.Page(t1_2); + var p1_3 = new qx.ui.pageview.tabview.Page(t1_3); + + tf1.getPane().add(p1_1, p1_2, p1_3); + + w1.add(tf1); + + // Fill window 2 + var at1 = new qx.ui.basic.Atom("Your second window", "icon/22/find.png"); + at1.setLocation(8, 8); + w2.add(at1); + + var fs1 = new qx.ui.groupbox.GroupBox("Settings"); + fs1.set({ left:4, top:40, right:4, bottom:4 }); + + var chk1 = new qx.ui.form.CheckBox("Show Icon"); + chk1.set({ left:0, top:0, checked:true }); + chk1.addEventListener("changeChecked", function(e) { + w2.setShowIcon(e.getData()); + }); + + var chk2 = new qx.ui.form.CheckBox("Show Caption"); + chk2.set({ left:0, top:20, checked:true }); + chk2.addEventListener("changeChecked", function(e) { + w2.setShowCaption(e.getData()); + }); + + var chk3 = new qx.ui.form.CheckBox("Resizeable"); + chk3.set({ left:0, top:50, checked:true }); + chk3.addEventListener("changeChecked", function(e) { + w2.setResizeable(e.getData()); + }); + + var chk4 = new qx.ui.form.CheckBox("Moveable"); + chk4.set({ left:0, top:70, checked:true }); + chk4.addEventListener("changeChecked", function(e) { + w2.setMoveable(e.getData()); + }); + + var chk5 = new qx.ui.form.CheckBox("Show Close"); + chk5.set({ left:140, top:0, checked:true }); + chk5.addEventListener("changeChecked", function(e) { + w2.setShowClose(e.getData()); + }); + + var chk6 = new qx.ui.form.CheckBox("Show Maximize/Restore"); + chk6.set({ left:140, top:20, checked:true }); + chk6.addEventListener("changeChecked", function(e) { + w2.setShowMaximize(e.getData()); + }); + + var chk7 = new qx.ui.form.CheckBox("Show Minimize"); + chk7.set({ left:140, top:40, checked:true }); + chk7.addEventListener("changeChecked", function(e) { + w2.setShowMinimize(e.getData()); + }); + + var chk8 = new qx.ui.form.CheckBox("Allow Close"); + chk8.set({ left:140, top:70, checked:true }); + chk8.addEventListener("changeChecked", function(e) { + w2.setAllowClose(e.getData()); + }); + + var chk9 = new qx.ui.form.CheckBox("Allow Maximize"); + chk9.set({ left:140, top:90, checked:true }); + chk9.addEventListener("changeChecked", function(e) { + w2.setAllowMaximize(e.getData()); + }); + + var chk10 = new qx.ui.form.CheckBox("Allow Minimize"); + chk10.set({ left:140, top:110, checked:true }); + chk10.addEventListener("changeChecked", function(e) { + w2.setAllowMinimize(e.getData()); + }); + + var l1 = new qx.ui.basic.Atom("Move Method", "icon/16/info.png"); + l1.setLocation(0, 100); + + var rb1 = new qx.ui.form.RadioButton("Frame", "frame"); + rb1.setLocation(0, 120); + + var rb2 = new qx.ui.form.RadioButton("Opaque", "opaque"); + rb2.setLocation(0, 140); + rb2.setChecked(true); + + var rb3 = new qx.ui.form.RadioButton("Translucent", "translucent"); + rb3.setLocation(0, 160); + + var rbm1 = new qx.manager.selection.RadioManager("move", [rb1, rb2, rb3]); + + rbm1.addEventListener("changeSelected", function(e) { + w2.setMoveMethod(e.getData().getValue()); + }); + + var l2 = new qx.ui.basic.Atom("Resize Method", "icon/16/info.png"); + l2.setLocation(0, 190); + + var rb4 = new qx.ui.form.RadioButton("Frame", "frame"); + rb4.setLocation(0, 210); + rb4.setChecked(true); + + var rb5 = new qx.ui.form.RadioButton("Opaque", "opaque"); + rb5.setLocation(0, 230); + + var rb6 = new qx.ui.form.RadioButton("Lazy Opaque", "lazyopaque"); + rb6.setLocation(0, 250); + + var rb7 = new qx.ui.form.RadioButton("Translucent", "translucent"); + rb7.setLocation(0, 270); + + var rbm2 = new qx.manager.selection.RadioManager("resize", [rb4, rb5, rb6, rb7]); + + rbm2.addEventListener("changeSelected", function(e) { + w2.setResizeMethod(e.getData().getValue()); + }); + + var chk11 = new qx.ui.form.CheckBox("Show Statusbar"); + chk11.setLocation(140, 140); + chk11.setChecked(false); + chk11.addEventListener("changeChecked", function(e) { + w2.setShowStatusbar(e.getData()); + }); + + var btnpack = new qx.ui.form.Button("Pack Window", "icon/16/cdrom.png"); + btnpack.setLocation(140, 170); + btnpack.addEventListener("execute", function(e) { + w2.pack(); + }); + + fs1.add(chk1, chk2, chk3, chk4, chk5, chk6, chk7, chk8, chk9, chk10, l1, rb1, rb2, rb3, l2, rb4, rb5, rb6, rb7, chk11, btnpack); + w2.add(fs1); + + // Fill window 3 + var btn1 = new qx.ui.form.Button("Open Modal Dialog 1", "icon/16/launch.png"); + btn1.setLocation(4, 4); + w3.add(btn1); + + btn1.addEventListener("execute", function(e) { + wm1.open(); + }); + + // Fill modal window 1 + var btn2 = new qx.ui.form.Button("Open Modal Dialog 2", "icon/16/launch.png"); + btn2.setLocation(4, 4); + wm1.add(btn2); + + btn2.addEventListener("execute", function(e) { + wm2.open(); + }); + + var chkm1 = new qx.ui.form.CheckBox("Modal", null, null, true); + chkm1.setLocation(4, 50); + wm1.add(chkm1); + + chkm1.addEventListener("changeChecked", function(e) { + wm1.setModal(e.getData()); + }); + + // Fill modal window 2 + var icon1 = new qx.ui.basic.Image("icon/32/error.png"); + var warn1 = new qx.ui.basic.Label("Do you want to delete
all your personal data?"); + + icon1.setTop(10); + icon1.setLeft(10); + + warn1.setTop(10); + warn1.setLeft(48); + + var btn3 = new qx.ui.form.Button("Yes", "icon/16/button-ok.png"); + var btn4 = new qx.ui.form.Button("No", "icon/16/button-cancel.png"); + + btn3.addEventListener("execute", function(e) { + alert("Thank you!"); + wm2.close(); + }); + + btn4.addEventListener("execute", function(e) { + alert("Sorry, please click 'Yes'!"); + }); + + btn3.set({ bottom : 10, right : 10 }); + btn4.set({ bottom : 10, left : 10 }); + + wm2.add(btn3, btn4, icon1, warn1); + + // Icon & Color Themes + //qx.manager.object.ImageManager.getInstance().createThemeList(w3, 20, 248); + //qx.manager.object.ColorManager.getInstance().createThemeList(w3, 4, 58); + + w1.open(); + w2.open(); + w3.open(); + + return main; +} + + +qx.Proto._createThemesDemo = function() { + var doc = qx.ui.core.ClientDocument.getInstance(); + + // Theming window + var win = new qx.ui.window.Window("Theming window", "icon/16/style.png"); + //win.set({ width:"auto", height:"auto" }); + doc.add(win); + + var vert = new qx.ui.layout.VerticalBoxLayout; + vert.set({ width:"auto", height:"auto", spacing:5, left:0, top:0, right:0, bottom:0 }); + vert.setPadding(10); + win.add(vert); + + var info = new qx.ui.basic.Atom("Click on one of the buttons and then view the " + + "other tabs to see the changes", "icon/32/run.png"); + //info.set({ border:qx.renderer.border.BorderPresets.getInstance().inset, backgroundColor:"white" }); + info.setPadding(5); + vert.add(info); + + var hor = new qx.ui.layout.HorizontalBoxLayout; + hor.set({ width:"auto", height:"auto", spacing:5 }); + vert.add(hor); + + var can = new qx.ui.layout.CanvasLayout; + can.set({ width:"auto", height:"auto" }); + hor.add(can); + qx.manager.object.ImageManager.getInstance().createThemeList(can, 0, 0); + + var can = new qx.ui.layout.CanvasLayout; + can.set({ width:"auto", height:"auto" }); + hor.add(can); + qx.manager.object.ColorManager.getInstance().createThemeList(can, 0, 0); + + // Put the window in lower right corner + win.set({ width:"auto", height:"auto" }); + + // Open button + var main = new qx.ui.layout.VerticalBoxLayout; + main.setPadding(10); + main.set({ width:"auto", height:"auto" }); + + var openThemeWinBt = new qx.ui.form.Button("Open theming window", "icon/16/launch.png"); + openThemeWinBt.addEventListener("execute", function(e) { + win.open(); + + // the following breaks in the current layouter + /* + win.setLeft(doc.getClientWidth() - win.getBoxWidth() - 5); + win.setTop(doc.getClientHeight() - win.getBoxHeight() - 5); + */ + + win.setLeft(doc.getClientWidth() - 500); + win.setTop(doc.getClientHeight() - 300); + }); + main.add(openThemeWinBt); + + return main; +} + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/at-a-glance/index.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/at-a-glance/index.html new file mode 100644 index 00000000000..299f5bdc8e7 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/at-a-glance/index.html @@ -0,0 +1,21 @@ + + + + qooxdoo » Demo + + + + + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_1.html new file mode 100644 index 00000000000..4dff79cf3d3 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_1.html @@ -0,0 +1,73 @@ + + + + qooxdoo » Demo + + + + + + + +
+

qx.ui.basic.Atom is the parent class for buttons, menu entries, icons, checkboxes. While you can do, + you usually don't have to instantiate qx.ui.basic.Atom directly.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_2.html new file mode 100644 index 00000000000..db698a7232f --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_2.html @@ -0,0 +1,172 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Some more complex tests for qx.ui.basic.Atom.

+

You can change all the properties before "really creating" the object or any time after this was done.

+
+ + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_3.html new file mode 100644 index 00000000000..4a5db8e9bf1 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Atom_3.html @@ -0,0 +1,39 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing the new flash support for qx.ui.basic.Atom

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ButtonView_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ButtonView_1.html new file mode 100644 index 00000000000..19c7c6f1187 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ButtonView_1.html @@ -0,0 +1,89 @@ + + + + qooxdoo » Demo + + + + + + + +
+

qx.ui.pageview.buttonview.ButtonView implementation

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ButtonView_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ButtonView_2.html new file mode 100644 index 00000000000..722827a8941 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ButtonView_2.html @@ -0,0 +1,98 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Yet Another qx.ui.pageview.buttonview.ButtonView Example

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Button_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Button_1.html new file mode 100644 index 00000000000..7f26c3325ce --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Button_1.html @@ -0,0 +1,73 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test the qx.ui.form.Button constructor. qx.ui.form.Button is based on qx.ui.basic.Atom.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/CheckBox_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/CheckBox_1.html new file mode 100644 index 00000000000..9073dc70981 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/CheckBox_1.html @@ -0,0 +1,104 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for qx.ui.form.CheckBox. qx.ui.form.CheckBox extends qx.ui.basic.Atom and so it inherits all the options and properties defined there.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorPopup_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorPopup_1.html new file mode 100644 index 00000000000..269d863fb12 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorPopup_1.html @@ -0,0 +1,83 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for qx.ui.component.ColorPopup.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorSelector_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorSelector_1.html new file mode 100644 index 00000000000..a54005fbd9b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorSelector_1.html @@ -0,0 +1,29 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for qx.ui.component.ColorSelector.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorSelector_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorSelector_2.html new file mode 100644 index 00000000000..1fbf8228226 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ColorSelector_2.html @@ -0,0 +1,30 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for qx.ui.component.ColorSelector.

+

Adding a default/previous/old color value to compare it with the new selection.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ComboBoxEx_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ComboBoxEx_1.html new file mode 100644 index 00000000000..ea628b89beb --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ComboBoxEx_1.html @@ -0,0 +1,230 @@ + + + + qooxdoo » Demo + + + + + + + + +
+

ComboBoxEx is an enhanced version of ComboBox

+
+ + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ComboBox_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ComboBox_1.html new file mode 100644 index 00000000000..682b17229ed --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ComboBox_1.html @@ -0,0 +1,101 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing ComboBox implementation.

+

The elements of the popup will be created on the first open of the qx.ui.form.ComboBox.

+
+ + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Command_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Command_1.html new file mode 100644 index 00000000000..9cf2b0ee36f --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Command_1.html @@ -0,0 +1,141 @@ + + + + qooxdoo » Demo + + + + + + + +
+

An example showing global shortcut commands in action. The commands are linked with menu-items, but + could also be executed with the corresponding shortcut.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Command_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Command_2.html new file mode 100644 index 00000000000..46b490e9eb7 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Command_2.html @@ -0,0 +1,186 @@ + + + + qooxdoo » Demo + + + + + + + +
+

An example showing global shortcut commands in action. The commands are linked with menu-items, but + could also be executed with the corresponding shortcut.

+

An objectmanager is used to disable/enable a specific command (del-Key) to make available for text-editing + in the textfield of the window. When the window is closed the command gets re-enabled.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/DateChooser_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/DateChooser_1.html new file mode 100644 index 00000000000..582ca8b3865 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/DateChooser_1.html @@ -0,0 +1,31 @@ + + + + qooxdoo » Demo + + + + + + + +
+

The DateChooser shows calendar and allows choosing a date.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Drag_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Drag_1.html new file mode 100644 index 00000000000..3347f130205 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Drag_1.html @@ -0,0 +1,57 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Show one way to drag a widget around the screen.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fields_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fields_1.html new file mode 100644 index 00000000000..96e86a4c190 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fields_1.html @@ -0,0 +1,107 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Some tests for some of the most used properties of qx.ui.core.Widget (coordinates, dimensions, backgroundColor, opacity, ...).

+

Also here are the first test of some widgets which extend qx.ui.core.Widget: qx.ui.form.TextField and qx.ui.form.PasswordField. These extended + widgets also interacts like the basic QxWidgets with the qx.event.handler.FocusHandler.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Flash_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Flash_1.html new file mode 100644 index 00000000000..3e2f0ceca83 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Flash_1.html @@ -0,0 +1,53 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Simple test for qx.ui.embed.Flash.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1.html new file mode 100644 index 00000000000..81d745cded9 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1.html @@ -0,0 +1,26 @@ + + + + qooxdoo » Demo + + + + + + + +
+

+ Simple test of a finite state machine. This is a sufficiently simple + application that using a finite state machine really doesn't make sense, + but it is illustrative of how to use it. This FSM has two states. +

+
+ + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/fsm.js b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/fsm.js new file mode 100644 index 00000000000..50cdc25ccb3 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/fsm.js @@ -0,0 +1,297 @@ +/* + * Initialize the finite state machine. + * + * This finite state machine has two states: Idle and AwaitRpcResult. + * + * In the Idle state, the Send button is enabled, the Abort button is + * disabled, and the three color bars are blue. In the AwaitRpcResult state, + * the Send button is disabled, the Abort button is enabled, and three color + * bars are red. All of these changes occur via automatic, table-driven + * function calls in autoActionsXXX() objects, not via explicit code. This + * demonstrates how groups of objects can all be manipulated together without + * having to write lots of code to do so. Just as these color blocks change + * color, numerous widgets could be disabled/hidden/etc., without writing code + * to futz with all of them. + */ +function initFsm() +{ + // Create a new finite state machine + var fsm = new qx.util.fsm.FiniteStateMachine("Fsm_1"); + + // For this simple example application, show all debug messages. + qx.Settings.setCustomOfClass( + "qx.util.fsm.FiniteStateMachine", + "debugFlags", + (qx.util.fsm.FiniteStateMachine.DebugFlags.EVENTS | + qx.util.fsm.FiniteStateMachine.DebugFlags.TRANSITIONS | + qx.util.fsm.FiniteStateMachine.DebugFlags.FUNCTION_DETAIL | + qx.util.fsm.FiniteStateMachine.DebugFlags.OBJECT_NOT_FOUND)); + + /* + * State: Idle + * + * Actions upon entry: + * button_send.setEnabled(true); + * button_abort.setEnabled(false); + * change background of objects in group "group_color_change" to blue + * + * Transition on: + * "execute" on button_send + */ + var state = new qx.util.fsm.State( + "State_Idle", + { + "autoActionsBeforeOnentry" : + { + // The name of a function. + "setEnabled" : + [ + { + // We want to enable the 'send' button + "parameters" : [ true ], + + // Call this.getObject("button_send").setEnabled(true) + "objects" : [ "button_send" ] + }, + + { + // We want to disable the 'abort' button + "parameters" : [ false ], + + // Call this.getObject("button_abort").setEnabled(false) + "objects" : [ "button_abort" ] + } + ], + + // The name of a function. + "setBackgroundColor" : + [ + { + // We want to change the atoms' background color to blue + "parameters" : + [ + // We want the color oject created when needed, not "now" + // Providing a function as a parameter allows the value to be + // determined later. + function (fsm) { return new qx.renderer.color.Color("blue"); } + ], + + // Call this.getObject().seBackgroundcolor("blue") on + // state entry, for each in the group called + // "group_color_change". + "groups" : [ "group_color_change" ] + } + ] + }, + + "events" : + { + // If the send button is pressed, go to new state state where we + // will await the RPC result + "execute" : + { + "button_send" : + "Transition_Idle_to_AwaitRpcResult_via_button_send" + } + } + }); + fsm.addState(state); + + /* + * Transition: Idle to AwaitRpcResult + * + * Cause: "execute" on button_send + * + * Action: + * Issue RPC request with coalesced failure events + */ + var trans = new qx.util.fsm.Transition( + "Transition_Idle_to_AwaitRpcResult_via_button_send", + { + "nextState" : + "State_AwaitRpcResult", + + "ontransition" : + function(fsm, event) + { + var rpc = fsm.getObject("rpc"); + + rpc.setUrl(fsm.getObject("text_url").getValue()); + rpc.setServiceName(fsm.getObject("text_service").getValue()); + + var request = + rpc.callAsyncListeners(true, // coalesce failure events + fsm.getObject("text_method").getValue(), + fsm.getObject("text_message").getValue()); + fsm.addObject("request", request); + } + }); + state.addTransition(trans); + + + /* + * State: AwaitRpcResult + * + * Actions upon entry: + * button_send.setEnabled(false); + * button_abort.setEnabled(true); + * change background of objects in group "group_color_change" to red + * + * Transition on: + * "completed" (on RPC) + * "failed" (on RPC) + * "execute on button_abort + */ + var state = new qx.util.fsm.State( + "State_AwaitRpcResult", + { + "autoActionsBeforeOnentry" : + { + // The name of a function. + "setEnabled" : + [ + { + // We want to disable the 'send' button + "parameters" : [ false ], + + // Call this.getObject("send").setEnabled(false) + "objects" : [ "button_send" ] + }, + + { + // We want to enable the 'abort' button + "parameters" : [ true ], + + // Call this.getObject("abort").setEnabled(true) + "objects" : [ "button_abort" ] + } + ], + + // The name of a function. + "setBackgroundColor" : + [ + { + // We want to change the atoms' background color to red + "parameters" : + [ + // We want the color oject created when needed, not "now" + // Providing a function as a parameter allows the value to be + // determined later. + function (fsm) { return new qx.renderer.color.Color("red"); } + ], + + // Call this.getObject().seBackgroundcolor("red"), for + // each in the group called "group_color_change". + "groups" : [ "group_color_change" ] + } + ] + }, + + "events" : + { + "execute" : + { + "button_abort" : + "Transition_AwaitRpcResult_to_AwaitRpcResult_via_button_abort" + }, + + "completed" : + "Transition_AwaitRpcResult_to_Idle_via_complete", + + "failed" : + "Transition_AwaitRpcResult_to_Idle_via_failed" + }, + + "onentry" : + function(fsm, state) + { + var message = fsm.getObject("text_result"); + message.setValue(""); + } + + }); + fsm.addState(state); + + /* + * Transition: AwaitRpcResult to AwaitRpcResult + * + * Cause: "execute" on button_abort + */ + var trans = new qx.util.fsm.Transition( + "Transition_AwaitRpcResult_to_AwaitRpcResult_via_button_abort", + { + "nextState" : + "State_AwaitRpcResult", + + "ontransition" : + function(fsm, event) + { + // Get the request object + var request = fsm.getObject("request"); + + // Issue an abort for the pending request + request.abort(); + + var message = fsm.getObject("text_result"); + message.setValue("Abort requested..."); + } + }); + state.addTransition(trans); + + /* + * Transition: AwaitRpcResult to Idle + * + * Cause: "complete" (on RPC) + */ + var trans = new qx.util.fsm.Transition( + "Transition_AwaitRpcResult_to_Idle_via_complete", + { + "nextState" : + "State_Idle", + + "ontransition" : + function(fsm, event) + { + var message = fsm.getObject("text_result"); + message.setValue("Got result: " + event.getData()); + + // The request has completed, so remove the object reference + fsm.removeObject("request"); + } + }); + state.addTransition(trans); + + /* + * Transition: AwaitRpcResult to Idle + * + * Cause: "failed" (on RPC) + */ + var trans = new qx.util.fsm.Transition( + "Transition_AwaitRpcResult_to_Idle_via_failed", + { + "nextState" : + "State_Idle", + + "ontransition" : + function(fsm, event) + { + var message = fsm.getObject("text_result"); + message.setValue("Got failure: " + event.getData()); + + // The request has completed, so remove the object reference + fsm.removeObject("request"); + } + }); + state.addTransition(trans); + + // Allocate an RPC object + o = new qx.io.remote.Rpc(); + o.setTimeout(10000); + o.addEventListener("completed", fsm.eventListener, fsm); + o.addEventListener("failed", fsm.eventListener, fsm); + o.addEventListener("timeout", fsm.eventListener, fsm); + o.addEventListener("aborted", fsm.eventListener, fsm); + fsm.addObject("rpc", o); + + return fsm; +} diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/gui.js b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/gui.js new file mode 100644 index 00000000000..0ba443a629c --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/gui.js @@ -0,0 +1,95 @@ +function initGui(fsm) +{ + var o; + var d = qx.ui.core.ClientDocument.getInstance(); + + var vLayout = new qx.ui.layout.VerticalBoxLayout(); + vLayout.setTop(40); + vLayout.setLeft(20); + vLayout.setSpacing(4); + + vLayout.add(new qx.ui.basic.Label("URL:")); + var defaultURL = qx.io.remote.Rpc.makeServerURL(); + if (defaultURL == null) + { + defaultURL = "/services/"; + } + o = new qx.ui.form.TextField(defaultURL); + vLayout.add(o); + fsm.addObject("text_url", o); + + vLayout.add(new qx.ui.basic.Label("Service:")); + o = new qx.ui.form.TextField("qooxdoo.test"); + vLayout.add(o); + fsm.addObject("text_service", o); + + vLayout.add(new qx.ui.basic.Label("Method:")); + o = new qx.ui.form.TextField("sleep"); + vLayout.add(o); + fsm.addObject("text_method", o); + + var hLayout = new qx.ui.layout.HorizontalBoxLayout(); + hLayout.setHeight("auto"); + hLayout.setVerticalChildrenAlign("middle"); + hLayout.setSpacing(4); + + o = new qx.ui.form.TextField("2"); + o.setWidth(200); + hLayout.add(o); + fsm.addObject("text_message", o); + + o = new qx.ui.form.Button("Send to server"); + o.addEventListener("execute", fsm.eventListener, fsm); + hLayout.add(o); + fsm.addObject("button_send", o); + + o = new qx.ui.form.Button("Abort"); + o.setEnabled(false); + o.addEventListener("execute", fsm.eventListener, fsm); + hLayout.add(o); + fsm.addObject("button_abort", o); + + vLayout.add(hLayout); + + vLayout.add(new qx.ui.basic.Label("Result:")); + o = new qx.ui.form.TextField(""); + o.setWidth(600); + vLayout.add(o); + fsm.addObject("text_result", o); + + var hLayout = new qx.ui.layout.HorizontalBoxLayout(); + hLayout.setHeight("auto"); + hLayout.setVerticalChildrenAlign("middle"); + hLayout.setSpacing(4); + + var o = new qx.ui.basic.Atom("Idle=blue, RPC=red"); + o.setBorder(qx.renderer.border.BorderPresets.getInstance().black); + o.setColor(new qx.renderer.color.Color("white")); + o.setWidth(200); + o.setHeight(30); + o.setPadding(4); + hLayout.add(o); + fsm.addObject("atom_1", o, "group_color_change"); + + var o = new qx.ui.basic.Atom("Idle=blue, RPC=red"); + o.setBorder(qx.renderer.border.BorderPresets.getInstance().black); + o.setColor(new qx.renderer.color.Color("white")); + o.setWidth(200); + o.setHeight(30); + o.setPadding(4); + hLayout.add(o); + fsm.addObject("atom_2", o, "group_color_change"); + + var o = new qx.ui.basic.Atom("Idle=blue, RPC=red"); + o.setBorder(qx.renderer.border.BorderPresets.getInstance().black); + o.setColor(new qx.renderer.color.Color("white")); + o.setWidth(200); + o.setHeight(30); + o.setPadding(4); + hLayout.add(o); + fsm.addObject("atom_3", o, "group_color_change"); + + vLayout.add(hLayout); + + d.add(vLayout); +} diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/main.js b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/main.js new file mode 100644 index 00000000000..56a53ac484b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Fsm_1/main.js @@ -0,0 +1,11 @@ +qx.core.Init.getInstance().defineMain(function() +{ + // Initialize the finite state machine + fsm = initFsm(); + + // Initialize the GUI + initGui(fsm); + + // Start the finite state machine + fsm.start(); +}); diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GalleryList_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GalleryList_1.html new file mode 100644 index 00000000000..39736233383 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GalleryList_1.html @@ -0,0 +1,129 @@ + + + + qooxdoo » Demo + + + + + + + + + +
+

ListSort implementation

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Gallery_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Gallery_1.html new file mode 100644 index 00000000000..3252d3d1dec --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Gallery_1.html @@ -0,0 +1,116 @@ + + + + qooxdoo » Demo + + + + + + + + + +
+

Test file for qx.ui.embed.Gallery

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_1.html new file mode 100644 index 00000000000..39c2eafd003 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_1.html @@ -0,0 +1,107 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Introducing qx.ui.groupbox.GroupBox.

+
+ +
builtincontent content content content content content content content content content content content content content content
+ + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_2.html new file mode 100644 index 00000000000..117732caf4e --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_2.html @@ -0,0 +1,153 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for qx.ui.groupbox.CheckGroupBox

+
+ +
builtincontent content content content content content content content content content content content content content content
+ + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_3.html new file mode 100644 index 00000000000..e9a77c64bf3 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/GroupBox_3.html @@ -0,0 +1,160 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for qx.ui.groupbox.RadioGroupBox

+
+ +
builtincontent content content content content content content content content content content content content content content
+ + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Iframe_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Iframe_1.html new file mode 100644 index 00000000000..90d87e1d9b4 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Iframe_1.html @@ -0,0 +1,71 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Iframe implementation. Elastic.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Inline_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Inline_1.html new file mode 100644 index 00000000000..bfec3e773f3 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Inline_1.html @@ -0,0 +1,260 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Inline widget.

Application layout is disabled by using qx.core.Settings. Scrollbars appear, if the content is bigger than the window.

+
+ +
+ Inline Frame #1 +
+ +
+ Inline Frame #2 +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_1.html new file mode 100644 index 00000000000..661c4a80309 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_1.html @@ -0,0 +1,67 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.ui.listview.ListView with text cells.

+

Testing of column alignment, resizeable prohibition for columns and live resizing.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_2.html new file mode 100644 index 00000000000..14df77b47ea --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_2.html @@ -0,0 +1,53 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.ui.listview.ListView with text cells and an additional icon.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_3.html new file mode 100644 index 00000000000..89bfc6b0864 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_3.html @@ -0,0 +1,51 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.ui.listview.ListView with iconHtml cells.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_4.html new file mode 100644 index 00000000000..f673bacc906 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ListView_4.html @@ -0,0 +1,58 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.ui.listview.ListView with text cells.

+

Added some sort handling stuff.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/List_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/List_1.html new file mode 100644 index 00000000000..17981e6f0cc --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/List_1.html @@ -0,0 +1,127 @@ + + + + qooxdoo » Demo + + + + + + + +
+

List implementation

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Menu_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Menu_1.html new file mode 100644 index 00000000000..66fd0c8687e --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Menu_1.html @@ -0,0 +1,193 @@ + + + + qooxdoo » Demo + + + + + + + +
+

qx.ui.menu.Menu Implementation.

+

Added qx.client.Command support tests.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/NativeWindow_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/NativeWindow_1.html new file mode 100644 index 00000000000..4d607a4424f --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/NativeWindow_1.html @@ -0,0 +1,198 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Native Windows. Could be understood as an enhanced window.open with some additional options like to create modal windows.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RadioButton_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RadioButton_1.html new file mode 100644 index 00000000000..6976cb5fbf9 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RadioButton_1.html @@ -0,0 +1,114 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for qx.ui.form.RadioButton. qx.ui.form.RadioButton extends qx.ui.basic.Atom and so it inherits all the options and properties defined there.

+

To group multiple QxRadioButtons you must define a instance of qx.manager.selection.RadioManager and add them to this new instance. All QxRadioButtons assigned to the same group make sure that only one of them is checked at the same time.

+

+

+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RepeatButton_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RepeatButton_1.html new file mode 100644 index 00000000000..3858e7594ac --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RepeatButton_1.html @@ -0,0 +1,73 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test the qx.ui.form.RepeatButton constructor. qx.ui.form.RepeatButton is based on qx.ui.form.Button but adds some interval handled event mechanism.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Resizer_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Resizer_1.html new file mode 100755 index 00000000000..05ed00b7cef --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Resizer_1.html @@ -0,0 +1,63 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for qx.ui.resizer.Rezizer.

+

+ The Resizer widget acts as a wrapper of another widget. It allows the child widget to be resized by the end user. +

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RpcTreeFullControl_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RpcTreeFullControl_1.html new file mode 100644 index 00000000000..3bd0fed749a --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/RpcTreeFullControl_1.html @@ -0,0 +1,194 @@ + + + + qooxdoo » Demo + + + + + + + + +
+

Only works together with a RPC backend!

+

+ Shows a tree which listens for tree events. This script communicates via + JSON-RPC to a backend server. Each time a new tree node is opened, the + children are requested from the server. See the server-side functions + at backend/php/services/qooxdoo/fs.php. +

+
+ + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Spinner_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Spinner_1.html new file mode 100644 index 00000000000..05406d5c533 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Spinner_1.html @@ -0,0 +1,106 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for qx.ui.form.Spinner.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/SplitPane_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/SplitPane_1.html new file mode 100644 index 00000000000..2f965c16bda --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/SplitPane_1.html @@ -0,0 +1,72 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for normal width Splitpane, no holding knobs, live resize enabled.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/SplitPane_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/SplitPane_2.html new file mode 100644 index 00000000000..29f07fe5582 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/SplitPane_2.html @@ -0,0 +1,75 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for extra slim Splitpane, with holding knobs.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TabView_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TabView_1.html new file mode 100644 index 00000000000..0179891e001 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TabView_1.html @@ -0,0 +1,152 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tabbar implementation.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TabView_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TabView_2.html new file mode 100644 index 00000000000..0599a12103a --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TabView_2.html @@ -0,0 +1,127 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tabbar implementation.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Table_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Table_1.html new file mode 100644 index 00000000000..1fcf4b09c25 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Table_1.html @@ -0,0 +1,107 @@ + + + + qooxdoo » Demo + + + + + + + +
+

A table with virtual scrolling, model-view-controller, renderers, + editing, sorting, column resizing, column reordering, + column hiding.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Table_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Table_2.html new file mode 100644 index 00000000000..d09cc85a968 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Table_2.html @@ -0,0 +1,50 @@ + + + + qooxdoo » Demo + + + + + + + +
+

A table with fixed columns.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_1.html new file mode 100644 index 00000000000..5fdd1836f57 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_1.html @@ -0,0 +1,252 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Introduce all classes needed for creating real qx.ui.toolbar.ToolBars. This includes qx.ui.toolbar.ToolBars, + qx.ui.toolbar.ToolBarParts, qx.ui.toolbar.Separator and qx.ui.toolbar.ToolBarButtons.

+ +

The qx.ui.toolbar.ToolBarButtons and QxRadioButtons in this example are beautifully + decoupled by "global" qx.event.type.DataEvent.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_2.html new file mode 100644 index 00000000000..13ccd5ba418 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_2.html @@ -0,0 +1,269 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Introducing qx.ui.toolbar.CheckBox and qx.ui.toolbar.RadioButton.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_3.html new file mode 100644 index 00000000000..7cb87459912 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_3.html @@ -0,0 +1,184 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Again a nice example which shows how to use qx.ui.toolbar.ToolBar as a menubar system.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_4.html new file mode 100644 index 00000000000..28aff3030f9 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolBar_4.html @@ -0,0 +1,196 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Again a nice example which shows how to use qx.ui.toolbar.ToolBar as a menubar system.

+

Added some parts and a new flex zone which aligns the help button to the right edge

+

Added some image and a qx.ui.toolbar.CheckBox, you can event combine all these features as you can easily see here.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolTip_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolTip_1.html new file mode 100644 index 00000000000..9beebd57a1b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/ToolTip_1.html @@ -0,0 +1,111 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for QxToolTips. Each qx.ui.popup.ToolTip could be assigned to any + instance of qx.ui.core.Widget. You could also use one qx.ui.popup.ToolTip instance + for multiple QxWidgets (to show the same tooltip any multiple items).

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_1.html new file mode 100644 index 00000000000..e46e855dc2c --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_1.html @@ -0,0 +1,235 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Shows a tree, with user-defined icons for some nodes.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_2.html new file mode 100644 index 00000000000..18c7cdafa4d --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_2.html @@ -0,0 +1,270 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Shows a tree, with user-defined extra fields. In this example, the extra +fields include a left-justified icon, a checkbox between the node icon and the +label, and a whole series of right-justified fields. Additionally, the root node may be hidden.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_3.html new file mode 100644 index 00000000000..cbbf4427327 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_3.html @@ -0,0 +1,298 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Shows a tree, with user-defined icons for some nodes. This tests + listening for tree events. A separate alert is generated upon opening a + folder that has contents; when opening a folder that has no contents; and + closing a folder.

We also demonstrate changing the default value of + 'allowShowPlusMinusSymbol' so that all folders initially have a plus/minus + symbol. Then, upon opening an empty folder, we remove that + icon.

Lastly, we demonstrate in the alert presented by tree events, + use of the getHierarchy() method to obtain a full "path" for a tree + node.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_4.html new file mode 100644 index 00000000000..b3c701f01fb --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/TreeFullControl_4.html @@ -0,0 +1,384 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Shows a tree and allows playing with the settings of the Tree + properties hideNode and rootOpenClose. Also demonstrates + manipulating display (or not) of tree lines at specific indentation + levels, using the excludeSpecificTreeLines property.

+ +
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Tree_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Tree_1.html new file mode 100644 index 00000000000..ef292405384 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Tree_1.html @@ -0,0 +1,191 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Shows a tree, with user-defined icons for some nodes.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Window_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Window_1.html new file mode 100644 index 00000000000..6d877611ba5 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/Window_1.html @@ -0,0 +1,308 @@ + + + + qooxdoo » Demo + + + + + + + +
+

This is the qx.ui.window.Window widget. These should emulate the default look and behaviour of the application windows running under Microsoft Windows(TM).

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file1.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file1.swf new file mode 100644 index 00000000000..2e6d69a3fd7 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file1.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file10.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file10.swf new file mode 100644 index 00000000000..eeafa9a8f3d Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file10.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file2.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file2.swf new file mode 100644 index 00000000000..51c8f0ff76d Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file2.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file3.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file3.swf new file mode 100644 index 00000000000..0b6b56be857 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file3.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file4.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file4.swf new file mode 100644 index 00000000000..746baa8cd94 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file4.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file5.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file5.swf new file mode 100644 index 00000000000..a3333e1c317 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file5.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file6.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file6.swf new file mode 100644 index 00000000000..2cad550081b Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file6.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file7.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file7.swf new file mode 100644 index 00000000000..b5f4eb4ddf5 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file7.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file8.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file8.swf new file mode 100644 index 00000000000..54c9a11edc9 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file8.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file9.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file9.swf new file mode 100644 index 00000000000..cc41ff1c104 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/color/file9.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/fo_tester.fla b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/fo_tester.fla new file mode 100644 index 00000000000..afd4bb61340 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/fo_tester.fla differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/fo_tester.swf b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/fo_tester.swf new file mode 100644 index 00000000000..8e0b966bca7 Binary files /dev/null and b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/image/flash/fo_tester.swf differ diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/index.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/index.html new file mode 100644 index 00000000000..ac437542ac1 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/example/index.html @@ -0,0 +1,18 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Please choose an example from above.

+
+ + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ArrayCreate_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ArrayCreate_1.html new file mode 100644 index 00000000000..0fe1f5fe729 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ArrayCreate_1.html @@ -0,0 +1,57 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for empty Array creation performance

+
    +
  1. Using "[]"
  2. +
  3. Using "new Array"
  4. +
  5. Using "new Array()"
  6. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ArrayCreate_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ArrayCreate_2.html new file mode 100644 index 00000000000..fcc0a05a73c --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ArrayCreate_2.html @@ -0,0 +1,47 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for filled Array creation performance

+
    +
  1. Using "[ values ]"
  2. +
  3. Using "new Array(values)"
  4. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_1.html new file mode 100644 index 00000000000..006745ad12b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_1.html @@ -0,0 +1,43 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Create 10.000 new (non stored) objects inside a loop. Identical to LocalObject_1.html.

+ +

Result

+

The performance in IE is quite good (~330ms for each loop), compared to the same stuff executed without the precreated stuff.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_2.html new file mode 100644 index 00000000000..e6d2e2f9a9d --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_2.html @@ -0,0 +1,51 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Precreate 50.000 objects (globally stored). After this create 10.000 new (non stored) objects inside a loop.

+

Keep global storage over runtime.

+ +

Result

+

The performance in IE is poor (~1150ms for each loop), compared to the same stuff executed without so much precreated objects (previous example).

+

It makes no difference if we use a global or a local variable here. It's identical to LocalObject_2.html.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_3.html new file mode 100644 index 00000000000..7d8f9490f73 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_3.html @@ -0,0 +1,53 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Precreate 50.000 objects (globally stored). After this create 10.000 new (non stored) objects inside a loop.

+

Use removeAll to clean up global storage after first loop.

+ +

Result

+

The additional cleanup (remove all entries) of the global storage optimizes performance after the first loop. First loop is done after ~1150ms. The following loop needs ~490ms. Not bad, but poorly compared to the version, where the storage have never exist before. (See first examples, which executes in ~350ms.)

+

It makes no difference if we use a global or a local variable here. It's identical to LocalObject_3.html.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_4.html new file mode 100644 index 00000000000..57220fc8465 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/GlobalObject_4.html @@ -0,0 +1,52 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Precreate 50.000 objects (globally stored). After this create 10.000 new (non stored) objects inside a loop.

+

Overwrite global storage to clean up after first loop.

+ +

Result

+

The additional cleanup (overwrite with null) of the global storage optimizes performance after the first loop. First loop is done after ~1150ms. The following loop needs ~350ms. Quite good. The same value as in the first example, where the data have never exist.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_1.html new file mode 100644 index 00000000000..bca9610f11b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_1.html @@ -0,0 +1,43 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Create 10.000 new (non stored) objects inside a loop. Identical to GlobalObject_1.html.

+ +

Result

+

The performance in IE is quite good (~330ms for each loop), compared to the same stuff executed without the precreated stuff.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_2.html new file mode 100644 index 00000000000..7a98805f2c3 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_2.html @@ -0,0 +1,51 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Precreate 50.000 objects (locally stored). After this create 10.000 new (not stored) objects inside a loop.

+

As the loop will be executed inside the scope of "store", the browser must keep the information about "store" with each execution of "test", even if called from the timeout.

+ +

Result

+

The performance in IE is poor (~1150ms for each loop), compared to the same stuff executed without so much precreated objects (previous example).

+

It makes no difference if we use a global or a local variable here. It's identical to GlobalObject_2.html.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_3.html new file mode 100644 index 00000000000..ab55099694b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_3.html @@ -0,0 +1,52 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Precreate 50.000 objects (locally stored). After this create 10.000 new (not stored) objects inside a loop.

+ +

Result

+

The additional cleanup (remove all entries) of the local storage optimizes performance after the first loop. First loop is done after ~1150ms. The following loop needs ~490ms. Not bad, but poorly compared to the version, where the storage have never exist before. (See first examples, which executes in ~350ms.)

+

It makes no difference if we use a global or a local variable here. It's identical to GlobalObject_3.html.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_4.html new file mode 100644 index 00000000000..d633458e9c5 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_4.html @@ -0,0 +1,53 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Precreate 50.000 objects (locally stored). After this create 10.000 new (not stored) objects inside a loop.

+

The "store" variable will be resetted after the first loop with "null".

+ +

Result

+

The additional cleanup (overwrite with null) of the global storage optimizes performance after the first loop. First loop is done after ~1150ms. The following loop needs ~350ms. Quite good. The same value as in the first example, where the data have never exist.

+

Interesting because theoratically the function implemenetation of "test" is inside the scope of "store".

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_5.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_5.html new file mode 100644 index 00000000000..34f351c6881 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/LocalObject_5.html @@ -0,0 +1,50 @@ + + + + qooxdoo » Demo + + + + + + + +
+

JS Object Storage Performance

+ +

Test Description

+

Precreate 50.000 objects (locally stored). After this create 10.000 new (not stored) objects inside a loop.

+

The test method is implemented outside of the scope of "store".

+ +

Result

+

We need no additional cleanup to get a good performance of the function. First loop is done after ~1150ms. The following loop needs ~350ms. Quite good. The same value as in the first example, where the data have never exist.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/NumberCreate_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/NumberCreate_1.html new file mode 100644 index 00000000000..7cdb760b625 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/NumberCreate_1.html @@ -0,0 +1,110 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for Number creation performance

+
    +
  1. Using simple number
  2. +
  3. Using parseInt
  4. +
  5. Using parseFloat
  6. +
  7. Using new with string int
  8. +
  9. Using new with string float
  10. +
  11. Using new with simple number
  12. +
  13. Using new with parseInt
  14. +
  15. Using new with parseFloat
  16. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectCreate_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectCreate_1.html new file mode 100644 index 00000000000..d1b0c699714 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectCreate_1.html @@ -0,0 +1,57 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for empty Object creation performance

+
    +
  1. Using "{}"
  2. +
  3. Using "new Object"
  4. +
  5. Using "new Object()"
  6. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectCreate_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectCreate_2.html new file mode 100644 index 00000000000..8a5128e2341 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectCreate_2.html @@ -0,0 +1,77 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for filled Object creation performance

+
    +
  1. Using "{ content }"
  2. +
  3. Using "new Object; obj.key = value"
  4. +
  5. Using "new Object(); obj.key = value"
  6. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_1.html new file mode 100755 index 00000000000..23106c50dc6 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_1.html @@ -0,0 +1,92 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing the influence of inheritance to object creation performance.

+

Result: Each inheritance level increases the negative effect.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_2.html new file mode 100755 index 00000000000..64aaf7c644d --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_2.html @@ -0,0 +1,88 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing the influence of inheritance to object creation performance.

+

Don't execute superclass constructor.

+

Result: No negative effect!

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_3.html new file mode 100644 index 00000000000..f69a14d099a --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectLevel_3.html @@ -0,0 +1,97 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing the influence of inheritance to object creation performance.

+

Result: Each inheritance level increases the negative effect.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectSize_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectSize_1.html new file mode 100755 index 00000000000..c80c05e9766 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/ObjectSize_1.html @@ -0,0 +1,62 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing the incluence to the performance of data using the prototype mechanism on classes.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/Qooxdoo_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/Qooxdoo_1.html new file mode 100644 index 00000000000..bad55746416 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/Qooxdoo_1.html @@ -0,0 +1,83 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for qooxdoo object performance

+
    +
  1. qx.core.Object
  2. +
  3. qx.core.Target
  4. +
  5. qx.event.type.Event
  6. +
  7. qx.event.type.MouseEvent
  8. +
  9. qx.ui.basic.Terminator
  10. +
  11. qx.ui.layout.CanvasLayout
  12. +
  13. qx.ui.layout.BoxLayout
  14. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_1.html new file mode 100644 index 00000000000..f0d1ec901df --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_1.html @@ -0,0 +1,95 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for String Performance. Using new String instances for concat.

+
    +
  1. Operator +=
  2. +
  3. Operators = and +
  4. +
  5. Concat function
  6. +
  7. Array Push
  8. +
  9. Array Index
  10. +
  11. StringBuilder Object
  12. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_2.html new file mode 100644 index 00000000000..d2b2c140c50 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_2.html @@ -0,0 +1,98 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for String Performance. Using cached string instances for concat.

+
    +
  1. Operator +=
  2. +
  3. Operators = and +
  4. +
  5. Concat function
  6. +
  7. Array Push
  8. +
  9. Array Index
  10. +
  11. StringBuilder Object
  12. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_3.html new file mode 100644 index 00000000000..2169b81b218 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/StringConcat_3.html @@ -0,0 +1,109 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for String Performance.

+

Getting an filled array of strings and try to combine them.

+ +
    +
  1. Operator +=
  2. +
  3. Operators = and +
  4. +
  5. Concat function
  6. +
  7. Array Push
  8. +
  9. Array Index
  10. +
  11. Array Append
  12. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/TypeCheck_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/TypeCheck_1.html new file mode 100644 index 00000000000..7ef0f0db13d --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/TypeCheck_1.html @@ -0,0 +1,84 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for typical value checks and their performance.

+
    +
  1. Typeof with Strings
  2. +
  3. Typeof with Constants
  4. +
  5. Instanceof
  6. +
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/index.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/index.html new file mode 100644 index 00000000000..ac437542ac1 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/performance/index.html @@ -0,0 +1,18 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Please choose an example from above.

+
+ + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/showcase/Showcase_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/showcase/Showcase_1.html new file mode 100644 index 00000000000..bbfe5200336 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/showcase/Showcase_1.html @@ -0,0 +1,128 @@ + + + + qooxdoo » Demo + + + + + + + +
+

A small example how a webmail application can look and feel using qooxdoo.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/showcase/index.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/showcase/index.html new file mode 100644 index 00000000000..f9f55f80586 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/showcase/index.html @@ -0,0 +1,18 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Please choose a showcase from above.

+
+ + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_1.html new file mode 100644 index 00000000000..f8bebf672d6 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_1.html @@ -0,0 +1,286 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Some speed tests for qx.ui.basic.Atom. Please regard, that many of things in the finished + page are modified on the already created and visible qx.ui.basic.Atom instances. This is not + a good example in scripting qooxdoo. It's always faster to configure a instance of qx.ui.core.Widget + completely, before add it to the qx.ui.core.ClientDocument or any other visible parent qx.ui.core.Widget.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_2.html new file mode 100644 index 00000000000..b80d6414cb7 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_2.html @@ -0,0 +1,187 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Example to show correct calculations of qx.ui.basic.Atom sizes. Normally a qx.ui.basic.Atom has only the size of its content.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_3.html new file mode 100644 index 00000000000..a824bb509c8 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_3.html @@ -0,0 +1,322 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Layout tests for qx.ui.basic.Atom reimplementation.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_4.html new file mode 100644 index 00000000000..a25990b9009 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_4.html @@ -0,0 +1,46 @@ + + + + qooxdoo » Demo + + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_5.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_5.html new file mode 100644 index 00000000000..bc05b1ee567 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_5.html @@ -0,0 +1,43 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Adding many qx.ui.basic.Atom widgets without setting the icon-width and -height.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_6.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_6.html new file mode 100644 index 00000000000..910226987ea --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_6.html @@ -0,0 +1,43 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Adding many qx.ui.basic.Atom widgets setting the icon-width and -height.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_7.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_7.html new file mode 100644 index 00000000000..5be132a2280 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_7.html @@ -0,0 +1,43 @@ + + + + qooxdoo » Demo + + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_8.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_8.html new file mode 100644 index 00000000000..a08fa5423ba --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_8.html @@ -0,0 +1,43 @@ + + + + qooxdoo » Demo + + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_9.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_9.html new file mode 100644 index 00000000000..563816f7b29 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Atom_9.html @@ -0,0 +1,44 @@ + + + + qooxdoo » Demo + + + + + + + +
+ This uses qx.ui.basic.Label instead of qx.ui.basic.Atom for text only display. Stored as Atom test file + because this way we could compare it to the previous test file. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Border_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Border_1.html new file mode 100644 index 00000000000..6aa6af6253b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Border_1.html @@ -0,0 +1,177 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for qx.renderer.border.Border, a cross-browser advanced border engine. + Each instance of qx.renderer.border.Border allows to affect multiple QxTerminators. + When the one property of the qx.renderer.border.Border change, it informs all bounded + QxTerminators to rerender the border.

+ +

The qx.renderer.border.Border constructor also allows you to convert a string + (css-like) into and qx.renderer.border.Border instance (last example).

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/BoxLayout_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/BoxLayout_1.html new file mode 100644 index 00000000000..36bcf5f9a20 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/BoxLayout_1.html @@ -0,0 +1,283 @@ + + + + qooxdoo » Demo + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Width/Height: + + +
Spacing/Padding: + + +
+ + + + +
Horizontal/Vertical Align: + + +
  + +
+ +

Tests

+ +
+ +
+

Now something more complex. Try to configure multiple things and then press <apply>.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/BoxLayout_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/BoxLayout_2.html new file mode 100644 index 00000000000..ead48a1f0ce --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/BoxLayout_2.html @@ -0,0 +1,324 @@ + + + + qooxdoo » Demo + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Width/Height: + + +
Spacing/Padding: + + +
+ + + + +
Horizontal/Vertical Align: + + +
  + +
+ +

Tests

+ +
+ +
+

Now something more complex. Try to configure multiple things and then press <apply>.

+

Added initial support for children align override: Try to click on the color palette.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_1.html new file mode 100644 index 00000000000..baa29c31aaf --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_1.html @@ -0,0 +1,73 @@ + + + + qooxdoo » Demo + + + + + + + + +
+

qx.client.Builder demo.

+

Build your web apps using qooxdooml.

+

Textarea example

+
+ + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_2.html new file mode 100644 index 00000000000..720e02f5dda --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_2.html @@ -0,0 +1,25 @@ + + + + qooxdoo » Demo + + + + + + + + +
+

qx.client.Builder demo.

+

Build your web apps using qooxdooml.

+

XmlHttp Example

+
+ + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_2.xml b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_2.xml new file mode 100644 index 00000000000..84b1adf62fa --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_2.xml @@ -0,0 +1,51 @@ + + + + + + btn.setLabel(btn.getLabel() + "."); + alert(event + "\n\nClicked on: " + this.getLabel()); + + + + + + + + + + + + + + atom1.setLabel(atom1.getLabel() + "."); + + + + + + + + + + + // test delegate function + var f = function(e) { + alert(e + '\n\nclick received at delegate function\n\n'); + } + + // test delegate object + var d = { + hello : 'world', + click : function(e) { + alert(e + '\n\nclick received at delegate object\n\n' + this.hello); + } + } + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_3.html new file mode 100644 index 00000000000..e3d4b0b39ee --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_3.html @@ -0,0 +1,26 @@ + + + + qooxdoo » Demo + + + + + + + + +
+

qx.client.Builder demo.

+

Build your web apps using qooxdooml.

+

Property Editor Example

+
+ + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_3.xml b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_3.xml new file mode 100644 index 00000000000..b5fd8b331cf --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_3.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + var el = this.getElement(); + m1.setLeft(qx.dom.DomLocation.getPageBoxLeft(el)); + m1.setTop(qx.dom.DomLocation.getPageBoxBottom(el)); ; + m1.show(); + e.setPropagationStopped(true); + + + e.setPropagationStopped(true); + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_4.html new file mode 100644 index 00000000000..70dffb5345b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Builder_4.html @@ -0,0 +1,42 @@ + + + + qooxdoo » Demo + + + + + + + + +
+

qx.client.Builder demo.

+

2 Format Example

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Button_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Button_1.html new file mode 100644 index 00000000000..b6c03682123 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Button_1.html @@ -0,0 +1,44 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing the new flash support for QxButtons (inherited from qx.ui.basic.Atom).

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CSS_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CSS_1.html new file mode 100644 index 00000000000..c49016803de --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CSS_1.html @@ -0,0 +1,110 @@ + + + + qooxdoo » Demo + + + + + + + + + + +
+

Some tests of qx.dom.StyleSheet

+
+ + +
+ Box 1 +
+ +
+ Box 2 +
+ + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_1.html new file mode 100644 index 00000000000..99bea2215f7 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_1.html @@ -0,0 +1,616 @@ + + + + qooxdoo » Demo + + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_3.html new file mode 100644 index 00000000000..0ddf46f9735 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_3.html @@ -0,0 +1,52 @@ + + + + qooxdoo » Demo + + + + + + + +
+

This test is using multiple qx.ui.basic.Terminator

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_4.html new file mode 100644 index 00000000000..b516d2b5280 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_4.html @@ -0,0 +1,50 @@ + + + + qooxdoo » Demo + + + + + + + +
+

This test is using multiple div-Elements

+

Created with "createElement" and added via "appendChild" to the document.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_5.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_5.html new file mode 100644 index 00000000000..6c2e0218ff3 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CanvasLayout_5.html @@ -0,0 +1,45 @@ + + + + qooxdoo » Demo + + + + + + + +
+

This test is using multiple div-Elements

+

Added to the document using the "innerHTML" property.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clipping_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clipping_1.html new file mode 100644 index 00000000000..4b37d814624 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clipping_1.html @@ -0,0 +1,76 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for clipping implementation

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clone_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clone_1.html new file mode 100644 index 00000000000..4afdc392d3b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clone_1.html @@ -0,0 +1,91 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test widget cloning.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clone_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clone_2.html new file mode 100644 index 00000000000..4ef3adafa1e --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Clone_2.html @@ -0,0 +1,108 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testfile for check cloning on QxFieldSets.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_1.html new file mode 100644 index 00000000000..badd4da9b0d --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_1.html @@ -0,0 +1,235 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Color Theme Test

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_2.html new file mode 100644 index 00000000000..8b5bf558a6d --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_2.html @@ -0,0 +1,77 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Color Theme Test

+
+ + + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_3.html new file mode 100644 index 00000000000..c119de0a1cb --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ColorTheme_3.html @@ -0,0 +1,176 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Color Theme Test for qx.renderer.border.BorderObject's

+
    +
  • First Col: qooxdoo solution for borders
  • +
  • Second Col: html solution without color value
  • +
  • Third Col: html solution with color value: white
  • +
+

The default color Theme is: OS Default

+
+ +
+
 
+
 
+
 
+
 
+ +
 
+
 
+
+ +
+
 
+
 
+
 
+
 
+ +
 
+
 
+
+ + + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_1.html new file mode 100644 index 00000000000..c79f556cf0e --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_1.html @@ -0,0 +1,102 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.ui.form.ComboBox implementation.

+

Testing object creation (the list content will be filled then) on first open.

+
+ + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_2.html new file mode 100644 index 00000000000..f44c525bd50 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_2.html @@ -0,0 +1,116 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.ui.form.ComboBox implementation.

+

Testing object creation (the list content will be filled then) on first open.

+

Added Color Theme Buttons

+
+ + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_3.html new file mode 100644 index 00000000000..7fe9f3ff769 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_3.html @@ -0,0 +1,123 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.ui.form.ComboBox implementation.

+

Testing object creation (the list content will be filled then) on first open.

+

Added Color Theme Buttons

+

Now with image inside the popup.

+
+ + + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_4.html new file mode 100644 index 00000000000..3d698e9a198 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/ComboBox_4.html @@ -0,0 +1,41 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.ui.form.ComboBox behaviour when inside a container with scroll bars and the popup list goes off the screen.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_1.html new file mode 100644 index 00000000000..e02a2210646 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_1.html @@ -0,0 +1,415 @@ + + + + qooxdoo » Demo + + + + + + + +
+
+ + + + + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_2.html new file mode 100644 index 00000000000..472c237945e --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_2.html @@ -0,0 +1,46 @@ + + + + qooxdoo » Demo + + + + + + + +
+
+ +
Hello World
Hello World
+ + + + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_2.js b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_2.js new file mode 100644 index 00000000000..10c9ac628a1 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Compile_2.js @@ -0,0 +1,3867 @@ +qx.core.Init.getInstance().defineMain(function() +{ +var f = new Function(); +f.prototype = qx.ui.form.Button.prototype; +$0 = new f; +qx.core.Object._db[74] = $0; +$0._valueElement = cssQuery("[qxhashcode=74]")[0]; +$0._element = $0._valueElement; +$0._style = $0._valueElement.style; +$0._valueElement.qx_Widget = $0; +$1 = 74; +$2 = {} +$3 = "QxWidgetCore qx.ui.form.Button"; +$4 = {} +$5 = {} +$6 = "none"; +$7 = "normal"; +$8 = "default"; +$9 = "buttonface"; +$10 = {} +$11 = {} +$12 = true; +$13 = false; +$14 = 1; +$15 = 4; +$16 = "auto"; +$17 = 3; +$18 = 102; +$19 = null; +$20 = 42; +$21 = "center"; +$22 = "middle"; +$23 = []; +var f = new Function(); +f.prototype = qx.ui.basic.Image.prototype; +$24 = new f; +qx.core.Object._db[78] = $24; +$24._valueElement = cssQuery("[qxhashcode=78]")[0]; +$24._element = $24._valueElement; +$24._style = $24._valueElement.style; +$24._valueElement.qx_Widget = $24; +$24._image = $24._valueElement.getElementsByTagName("img")[0]; +$25 = 78; +$26 = {} +$27 = "QxWidgetCore qx.ui.basic.Image"; +$28 = ""; +$29 = {} +$30 = {} +$31 = {} +$32 = {} +$33 = new qx.manager.object.ImageManager; +$34 = "icon/32/penguin.png"; +$35 = 32; +var f = new Function(); +f.prototype = qx.io.image.Preloader.prototype; +$36 = new f; +qx.core.Object._db[91] = $36; +$36._element = new Image; +$36._element.src = "../../images/icons/crystalsvg/32/penguin.png"; +$37 = 91; +$38 = "../../images/icons/crystalsvg/32/penguin.png"; +$39 = "qx.io.image.Preloader"; +var f = new Function(); +f.prototype = qx.manager.object.ImagePreloaderManager.prototype; +$40 = new f; +qx.core.Object._db[31] = $40; +$41 = 31; +$42 = {} +var f = new Function(); +f.prototype = qx.io.image.Preloader.prototype; +$43 = new f; +qx.core.Object._db[92] = $43; +$43._element = new Image; +$43._element.src = "../../images/icons/crystalsvg/32/appearance.png"; +$44 = 92; +$45 = "../../images/icons/crystalsvg/32/appearance.png"; +$46 = "enabled"; +$47 = "qx.manager.object.ImagePreloaderManager"; +$48 = 0; +$49 = "qx.ui.basic.Image"; +$50 = "enabled,parent,element,visibility,display,anonymous,tagName,horizontalAlign,verticalAlign,allowStretchX,allowStretchY,zIndex,backgroundColor,color,border,font,opacity,cursor,backgroundImage,overflow,clipLeft,clipTop,clipWidth,clipHeight,tabIndex,hideFocus,enableElementFocus,focused,selectable,toolTip,contextMenu,capture,dropDataTypes,command,appearance,marginTop,marginRight,marginBottom,marginLeft,paddingTop,paddingRight,paddingBottom,paddingLeft,left,right,width,minWidth,maxWidth,top,bottom,height,minHeight,maxHeight,source,preloader,loaded,resizeToInner"; +$51 = "div"; +$52 = -1; +$53 = "parent,element,visible"; +var f = new Function(); +f.prototype = qx.ui.basic.Label.prototype; +$54 = new f; +qx.core.Object._db[77] = $54; +$54._valueElement = cssQuery("[qxhashcode=77]")[0]; +$54._element = $54._valueElement; +$54._style = $54._valueElement.style; +$54._valueElement.qx_Widget = $54; +$55 = 77; +$56 = {} +$57 = "QxWidgetCore qx.ui.basic.Label"; +$58 = {} +$59 = {} +$60 = {} +$61 = {} +$62 = 54; +$63 = 13; +$64 = "Hello World"; +$65 = 40; +$66 = "qx.ui.basic.Label"; +$67 = "enabled,parent,element,visibility,display,anonymous,tagName,horizontalAlign,verticalAlign,allowStretchX,allowStretchY,zIndex,backgroundColor,color,border,font,opacity,cursor,backgroundImage,overflow,clipLeft,clipTop,clipWidth,clipHeight,tabIndex,hideFocus,enableElementFocus,focused,selectable,toolTip,contextMenu,capture,dropDataTypes,command,appearance,marginTop,marginRight,marginBottom,marginLeft,paddingTop,paddingRight,paddingBottom,paddingLeft,left,right,width,minWidth,maxWidth,top,bottom,height,minHeight,maxHeight,html,fontPropertiesProfile,measureMode,mnemonic"; +$68 = "styleproperty"; +var f = new Function(); +f.prototype = qx.renderer.layout.HorizontalBoxLayoutImpl.prototype; +$69 = new f; +qx.core.Object._db[76] = $69; +$70 = 76; +$71 = "qx.renderer.layout.HorizontalBoxLayoutImpl"; +$72 = "enabled,enableFlexSupport"; +$73 = "horizontal"; +$74 = {} +$75 = {} +$76 = {} +$77= qx.core.Object._db[74]._onmouseover; +$78 = null; +$79 = {} +$80 = {} +$81= qx.core.Object._db[74]._onmouseout; +$82 = {} +$83 = {} +$84= qx.core.Object._db[74]._onmousedown; +$85 = {} +$86 = {} +$87= qx.core.Object._db[74]._onmouseup; +$88 = {} +$89 = {} +$90= qx.core.Object._db[74]._onkeydown; +$91 = {} +$92 = {} +$93= qx.core.Object._db[74]._onkeyup; +$94 = 20; +$95 = 50; +$96 = qx.core.Init.getInstance().getComponent(); +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$97 = new f; +qx.core.Object._db[33] = $97; +$98 = 33; +$99 = {} +var f = new Function(); +f.prototype = qx.ui.form.Button.prototype; +$100 = new f; +qx.core.Object._db[86] = $100; +$100._valueElement = cssQuery("[qxhashcode=86]")[0]; +$100._element = $100._valueElement; +$100._style = $100._valueElement.style; +$100._valueElement.qx_Widget = $100; +$101 = 86; +$102 = {} +$103 = {} +$104 = {} +$105 = {} +$106 = {} +$107 = []; +var f = new Function(); +f.prototype = qx.ui.basic.Image.prototype; +$108 = new f; +qx.core.Object._db[90] = $108; +$108._valueElement = cssQuery("[qxhashcode=90]")[0]; +$108._element = $108._valueElement; +$108._style = $108._valueElement.style; +$108._valueElement.qx_Widget = $108; +$108._image = $108._valueElement.getElementsByTagName("img")[0]; +$109 = 90; +$110 = {} +$111 = {} +$112 = {} +$113 = {} +$114 = {} +$115 = "icon/32/appearance.png"; +var f = new Function(); +f.prototype = qx.ui.basic.Label.prototype; +$116 = new f; +qx.core.Object._db[89] = $116; +$116._valueElement = cssQuery("[qxhashcode=89]")[0]; +$116._element = $116._valueElement; +$116._style = $116._valueElement.style; +$116._valueElement.qx_Widget = $116; +$117 = 89; +$118 = {} +$119 = {} +$120 = {} +$121 = {} +$122 = {} +var f = new Function(); +f.prototype = qx.renderer.layout.HorizontalBoxLayoutImpl.prototype; +$123 = new f; +qx.core.Object._db[88] = $123; +$124 = 88; +$125 = {} +$126 = {} +$127 = {} +$128= qx.core.Object._db[86]._onmouseover; +$129 = {} +$130 = {} +$131= qx.core.Object._db[86]._onmouseout; +$132 = {} +$133 = {} +$134= qx.core.Object._db[86]._onmousedown; +$135 = {} +$136 = {} +$137= qx.core.Object._db[86]._onmouseup; +$138 = {} +$139 = {} +$140= qx.core.Object._db[86]._onkeydown; +$141 = {} +$142 = {} +$143= qx.core.Object._db[86]._onkeyup; +$144 = 220; +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$145 = new f; +qx.core.Object._db[18] = $145; +$146 = {} +$147 = 18; +$148 = {} +$149 = {} +$150 = "2px outset"; +$151 = "threedlightshadow threedhighlight"; +$152 = "threeddarkshadow threedshadow"; +$153 = {} +$154 = 2; +$155 = "outset"; +$156 = "qx.renderer.border.BorderObject"; +$157 = "enabled,topWidth,rightWidth,bottomWidth,leftWidth,topStyle,rightStyle,bottomStyle,leftStyle,topColor,rightColor,bottomColor,leftColor"; +$158 = []; +$159 = 12; +$160 = 10; +$161 = "qx.ui.form.Button"; +$162 = "enabled,parent,element,visibility,display,anonymous,tagName,horizontalAlign,verticalAlign,allowStretchX,allowStretchY,zIndex,backgroundColor,color,border,font,opacity,cursor,backgroundImage,overflow,clipLeft,clipTop,clipWidth,clipHeight,tabIndex,hideFocus,enableElementFocus,focused,selectable,toolTip,contextMenu,capture,dropDataTypes,command,appearance,marginTop,marginRight,marginBottom,marginLeft,paddingTop,paddingRight,paddingBottom,paddingLeft,left,right,width,minWidth,maxWidth,top,bottom,height,minHeight,maxHeight,focusManager,activeWidget,orientation,spacing,horizontalChildrenAlign,verticalChildrenAlign,reverseChildrenOrder,stretchChildrenOrthogonalAxis,useAdvancedFlexAllocation,label,icon,show,iconPosition,iconWidth,iconHeight"; +$163 = "both"; +$164 = "left"; +$165 = []; +$166 = "add"; +$167 = "remove"; +$168 = "addAt"; +$169 = "addAtBegin"; +$170 = "addAtEnd"; +$171 = "removeAt"; +$172 = "addBefore"; +$173 = "addAfter"; +$174 = "removeAll"; +$175 = "getFirstChild"; +$176 = "getLastChild"; +$177 = "getFirstActiveChild"; +$178 = "getLastActiveChild"; +$179 = "getFirstVisibleChild"; +$180 = "getLastVisibleChild"; +$181 = "qx.renderer.color.ColorObject"; +var f = new Function(); +f.prototype = qx.manager.object.ColorManager.prototype; +$182 = new f; +qx.core.Object._db[1] = $182; +$183 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$184 = new f; +qx.core.Object._db[9] = $184; +$185 = "threeddarkshadow"; +$186 = 9; +$187 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$188 = new f; +qx.core.Object._db[17] = $188; +$189 = {} +$190 = 17; +$191 = {} +$192 = {} +$193 = {} +$194 = "inset"; +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$195 = new f; +qx.core.Object._db[19] = $195; +$196 = {} +$197 = 19; +$198 = {} +$199 = {} +$200 = {} +$201 = "groove"; +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$202 = new f; +qx.core.Object._db[20] = $202; +$203 = {} +$204 = {} +$205 = {} +$206 = {} +$207 = "ridge"; +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$208 = new f; +qx.core.Object._db[21] = $208; +$209 = {} +$210 = 21; +$211 = {} +$212 = {} +$213 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$214 = new f; +qx.core.Object._db[22] = $214; +$215 = {} +$216 = 22; +$217 = {} +$218 = {} +$219 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$220 = new f; +qx.core.Object._db[23] = $220; +$221 = {} +$222 = 23; +$223 = {} +$224 = {} +$225 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$226 = new f; +qx.core.Object._db[24] = $226; +$227 = {} +$228 = 24; +$229 = {} +$230 = {} +$231 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$232 = new f; +qx.core.Object._db[10] = $232; +$233 = "threedshadow"; +$234 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$235 = new f; +qx.core.Object._db[25] = $235; +$236 = {} +$237 = 25; +$238 = {} +$239 = {} +$240 = {} +$241 = "solid"; +var f = new Function(); +f.prototype = qx.renderer.border.Border.prototype; +$242 = new f; +qx.core.Object._db[40] = $242; +$243 = {} +$244 = {} +$245 = {} +$246 = "qx.renderer.border.Border"; +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$247 = new f; +qx.core.Object._db[53] = $247; +$248 = {} +$249 = 53; +$250 = {} +$251 = {} +$252 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$253 = new f; +qx.core.Object._db[54] = $253; +$254 = {} +$255 = {} +$256 = {} +$257 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$258 = new f; +qx.core.Object._db[55] = $258; +$259 = {} +$260 = 55; +$261 = {} +$262 = {} +$263 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$264 = new f; +qx.core.Object._db[56] = $264; +$265 = {} +$266 = 56; +$267 = {} +$268 = {} +$269 = {} +var f = new Function(); +f.prototype = qx.renderer.border.Border.prototype; +$270 = new f; +qx.core.Object._db[58] = $270; +$271 = 58; +$272 = {} +$273 = {} +$274 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$275 = new f; +qx.core.Object._db[57] = $275; +$276 = "#fec83c"; +$277 = 254; +$278 = 200; +$279 = 60; +$280 = 57; +$281 = {} +var f = new Function(); +f.prototype = qx.renderer.border.Border.prototype; +$282 = new f; +qx.core.Object._db[59] = $282; +$283 = 59; +$284 = {} +$285 = {} +$286 = {} +var f = new Function(); +f.prototype = qx.renderer.border.Border.prototype; +$287 = new f; +qx.core.Object._db[60] = $287; +$288 = {} +$289 = {} +$290 = {} +var f = new Function(); +f.prototype = qx.renderer.border.Border.prototype; +$291 = new f; +qx.core.Object._db[61] = $291; +$292 = 61; +$293 = {} +$294 = {} +$295 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$296 = new f; +qx.core.Object._db[11] = $296; +$297 = "threedlightshadow"; +$298 = 11; +$299 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$300 = new f; +qx.core.Object._db[26] = $300; +$301 = {} +$302 = 26; +$303 = {} +$304 = {} +$305 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$306 = new f; +qx.core.Object._db[12] = $306; +$307 = "threedhighlight"; +$308 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$309 = new f; +qx.core.Object._db[28] = $309; +$310 = "infotext"; +$311 = 28; +$312 = {} +var f = new Function(); +f.prototype = qx.renderer.border.BorderObject.prototype; +$313 = new f; +qx.core.Object._db[27] = $313; +$314 = {} +$315 = 27; +$316 = {} +$317 = {} +$318 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$319 = new f; +qx.core.Object._db[29] = $319; +$320 = "graytext"; +$321 = 29; +$322 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$323 = new f; +qx.core.Object._db[36] = $323; +$324 = "highlight"; +$325 = 36; +$326 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$327 = new f; +qx.core.Object._db[37] = $327; +$328 = "highlighttext"; +$329 = 37; +$330 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$331 = new f; +qx.core.Object._db[41] = $331; +$332 = "inactivecaption"; +$333 = 41; +$334 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$335 = new f; +qx.core.Object._db[42] = $335; +$336 = "inactivecaptiontext"; +$337 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$338 = new f; +qx.core.Object._db[43] = $338; +$339 = "activecaption"; +$340 = 43; +$341 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$342 = new f; +qx.core.Object._db[44] = $342; +$343 = "captiontext"; +$344 = 44; +$345 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$346 = new f; +qx.core.Object._db[45] = $346; +$347 = "#e1eeff"; +$348 = 225; +$349 = 238; +$350 = 255; +$351 = 45; +$352 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$353 = new f; +qx.core.Object._db[46] = $353; +$354 = "#fafbfe"; +$355 = 250; +$356 = 251; +$357 = 46; +$358 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$359 = new f; +qx.core.Object._db[65] = $359; +$360 = "threedface"; +$361 = 65; +$362 = {} +var f = new Function(); +f.prototype = qx.renderer.color.ColorObject.prototype; +$363 = new f; +qx.core.Object._db[66] = $363; +$364 = "windowtext"; +$365 = 66; +$366 = {} +$367 = {} +var f = new Function(); +f.prototype = qx.renderer.theme.ColorTheme.prototype; +$368 = new f; +qx.core.Object._db[2] = $368; +$369 = "systemDefault"; +$370 = "Inherit Operating System"; +$371 = {} +$372 = {} +$373 = "activeborder"; +$374 = "appworkspace"; +$375 = "background"; +$376 = "buttonhighlight"; +$377 = "buttonshadow"; +$378 = "buttontext"; +$379 = "inactiveborder"; +$380 = "infobackground"; +$381 = "menu"; +$382 = "menutext"; +$383 = "scrollbar"; +$384 = "window"; +$385 = "windowframe"; +$386 = "qx.renderer.theme.ColorTheme"; +$387 = "enabled,id,title"; +var f = new Function(); +f.prototype = qx.renderer.theme.ColorTheme.prototype; +$388 = new f; +qx.core.Object._db[3] = $388; +$389 = "windowsRoyale"; +$390 = "Windows XP Media Center"; +$391 = {} +$392 = []; +$393 = 212; +$394 = 208; +$395 = []; +$396 = 51; +$397 = 94; +$398 = 168; +$399 = []; +$400 = 128; +$401 = []; +$402 = 64; +$403 = []; +$404 = 235; +$405 = 233; +$406 = 237; +$407 = []; +$408 = []; +$409 = 167; +$410 = 166; +$411 = 170; +$412 = []; +$413 = []; +$414 = []; +$415 = []; +$416 = []; +$417 = []; +$418 = []; +$419 = 111; +$420 = 161; +$421 = 217; +$422 = []; +$423 = []; +$424 = []; +$425 = []; +$426 = []; +$427 = []; +$428 = []; +$429 = 133; +$430 = 135; +$431 = 140; +$432 = []; +$433 = []; +$434 = []; +$435 = 223; +$436 = 228; +$437 = []; +$438 = []; +$439 = []; +$440 = []; +$441 = {} +var f = new Function(); +f.prototype = qx.renderer.theme.ColorTheme.prototype; +$442 = new f; +qx.core.Object._db[4] = $442; +$443 = "windowsClassic"; +$444 = "Windows 2000"; +$445 = {} +$446 = []; +$447 = []; +$448 = 106; +$449 = []; +$450 = []; +$451 = 110; +$452 = 165; +$453 = []; +$454 = []; +$455 = []; +$456 = []; +$457 = []; +$458 = []; +$459 = []; +$460 = []; +$461 = []; +$462 = []; +$463 = []; +$464 = []; +$465 = []; +$466 = []; +$467 = []; +$468 = []; +$469 = []; +$470 = []; +$471 = []; +$472 = []; +$473 = []; +$474 = []; +$475 = []; +$476 = []; +$477 = {} +var f = new Function(); +f.prototype = qx.renderer.theme.ColorTheme.prototype; +$478 = new f; +qx.core.Object._db[5] = $478; +$479 = 5; +$480 = "windowsLunaBlue"; +$481 = "Windows XP Luna Blue"; +$482 = {} +$483 = []; +$484 = []; +$485 = 84; +$486 = 227; +$487 = []; +$488 = []; +$489 = 152; +$490 = []; +$491 = 236; +$492 = 216; +$493 = []; +$494 = []; +$495 = 172; +$496 = 153; +$497 = []; +$498 = []; +$499 = []; +$500 = []; +$501 = 49; +$502 = 197; +$503 = []; +$504 = []; +$505 = []; +$506 = 122; +$507 = 150; +$508 = []; +$509 = 248; +$510 = []; +$511 = []; +$512 = []; +$513 = []; +$514 = []; +$515 = []; +$516 = 113; +$517 = 100; +$518 = []; +$519 = []; +$520 = []; +$521 = 241; +$522 = 239; +$523 = 226; +$524 = []; +$525 = []; +$526 = []; +$527 = []; +$528 = {} +var f = new Function(); +f.prototype = qx.renderer.theme.ColorTheme.prototype; +$529 = new f; +qx.core.Object._db[6] = $529; +$530 = 6; +$531 = "windowsLunaGreen"; +$532 = "Windows XP Luna Green"; +$533 = {} +$534 = []; +$535 = []; +$536 = 139; +$537 = 105; +$538 = []; +$539 = []; +$540 = 157; +$541 = 189; +$542 = []; +$543 = []; +$544 = []; +$545 = []; +$546 = []; +$547 = []; +$548 = []; +$549 = 147; +$550 = 160; +$551 = 112; +$552 = []; +$553 = []; +$554 = []; +$555 = 214; +$556 = 186; +$557 = []; +$558 = []; +$559 = []; +$560 = []; +$561 = []; +$562 = []; +$563 = []; +$564 = []; +$565 = []; +$566 = []; +$567 = []; +$568 = []; +$569 = []; +$570 = []; +$571 = {} +var f = new Function(); +f.prototype = qx.renderer.theme.ColorTheme.prototype; +$572 = new f; +qx.core.Object._db[7] = $572; +$573 = 7; +$574 = "windowsLunaSilver"; +$575 = "Windows XP Luna Silver"; +$576 = {} +$577 = []; +$578 = []; +$579 = 192; +$580 = []; +$581 = []; +$582 = 87; +$583 = 104; +$584 = []; +$585 = 224; +$586 = []; +$587 = []; +$588 = []; +$589 = []; +$590 = 14; +$591 = 16; +$592 = []; +$593 = []; +$594 = 178; +$595 = 180; +$596 = 191; +$597 = []; +$598 = []; +$599 = []; +$600 = []; +$601 = 162; +$602 = []; +$603 = []; +$604 = []; +$605 = []; +$606 = []; +$607 = []; +$608 = []; +$609 = []; +$610 = []; +$611 = []; +$612 = []; +$613 = []; +$614 = []; +$615 = {} +$616 = {} +$617 = "qx.manager.object.ColorManager"; +$618 = "enabled,theme"; +$619 = []; +$0._hashCode = $1; +$0._htmlProperties = $2; +$0._htmlAttributes = $4; +$0._styleProperties = $5; +$0._layoutChanges = $10; +$0._states = $11; +$0._valueSelectable = $13; +$0._valueTabIndex = $14; +$0._valueSpacing = $15; +$0._valueWidth = $16; +$0._computedWidthType = $17; +$0._computedWidthTypeAuto = $12; +$0._computedWidthTypeNull = $13; +$0._computedWidthTypeFlex = $13; +$0._computedWidthTypePercent = $13; +$0._computedWidthTypePixel = $13; +$0._computedWidthValue = $18; +$0._computedWidthParsed = $19; +$0._cachedHasAutoX = $19; +$0._valueHeight = $16; +$0._computedHeightType = $17; +$0._computedHeightTypeAuto = $12; +$0._computedHeightTypeNull = $13; +$0._computedHeightTypeFlex = $13; +$0._computedHeightTypePercent = $13; +$0._computedHeightTypePixel = $13; +$0._computedHeightValue = $20; +$0._computedHeightParsed = $19; +$0._cachedHasAutoY = $19; +$0._valueHorizontalChildrenAlign = $21; +$0._layoutMode = $21; +$0._valueVerticalChildrenAlign = $22; +$0._valueStretchChildrenOrthogonalAxis = $13; +$0._valuePaddingTop = $17; +$0._valuePaddingRight = $15; +$0._valuePaddingBottom = $17; +$0._valuePaddingLeft = $15; +$0._children = $23; +$0._layoutImpl = $69; +$0._valueOrientation = $73; +$0._layoutHorizontal = $12; +$0._layoutVertical = $13; +$0._valueCursor = $8; +$0._valueLabel = $64; +$0._labelIsVisible = $12; +$0._label = $54; +$0._valueIcon = $34; +$0._iconIsVisible = $12; +$0._icon = $24; +$0._listeners = $74; +$0._valueLeft = $94; +$0._computedLeftType = $14; +$0._computedLeftTypePixel = $12; +$0._computedLeftTypeNull = $13; +$0._computedLeftTypePercent = $13; +$0._computedLeftValue = $94; +$0._computedLeftParsed = $94; +$0._valueTop = $95; +$0._computedTopType = $14; +$0._computedTopTypePixel = $12; +$0._computedTopTypeNull = $13; +$0._computedTopTypePercent = $13; +$0._computedTopValue = $95; +$0._computedTopParsed = $95; +$0._valueParent = $96; +$0._hasParent = $12; +$0._isDisplayable = $12; +$0._isCreated = $12; +$0._valueBackgroundColor = $97; +$0._valueBorder = $145; +$0._cachedBorderTop = $154; +$0._cachedBorderRight = $154; +$0._cachedBorderBottom = $154; +$0._cachedBorderLeft = $154; +$0._cachedVisibleChildren = $619; +$0._cachedPreferredInnerWidth = $109; +$0._cachedFrameWidth = $159; +$0._cachedPreferredBoxWidth = $18; +$0._cachedPreferredInnerHeight = $35; +$0._cachedFrameHeight = $160; +$0._cachedPreferredBoxHeight = $20; +$0._initialLayoutDone = $12; +$0._cachedBoxWidth = $18; +$0._cachedInnerWidth = $109; +$0._cachedAccumulatedChildrenOuterWidth = $109; +$0._cachedBoxHeight = $20; +$0._cachedInnerHeight = $35; +$0._isSeeable = $12; +$0.classname = $161; +$0._properties = $162; +$0._valueShow = $163; +$0._valueIconPosition = $164; +$0._valueIconWidth = $19; +$0._valueIconHeight = $19; +$0._flashMode = $13; +$0._valueReverseChildrenOrder = $13; +$0._valueUseAdvancedFlexAllocation = $13; +$0._cachedAccumulatedChildrenOuterHeight = $19; +$0._valueFocusManager = $19; +$0._valueActiveChild = $19; +$0._remappingChildTable = $165; +$0._valueVisibility = $12; +$0._valueDisplay = $12; +$0._valueAnonymous = $13; +$0._valueTagName = $51; +$0._valueHorizontalAlign = $19; +$0._valueVerticalAlign = $19; +$0._valueAllowStretchX = $12; +$0._valueAllowStretchY = $12; +$0._valueZIndex = $19; +$0._valueColor = $19; +$0._valueFont = $19; +$0._valueOpacity = $19; +$0._valueBackgroundImage = $19; +$0._valueOverflow = $19; +$0._valueClipLeft = $19; +$0._valueClipTop = $19; +$0._valueClipWidth = $19; +$0._valueClipHeight = $19; +$0._valueHideFocus = $13; +$0._valueEnableElementFocus = $12; +$0._valueFocused = $13; +$0._valueToolTip = $19; +$0._valueContextMenu = $19; +$0._valueCapture = $13; +$0._valueDropDataTypes = $19; +$0._valueCommand = $19; +$0._valueAppearance = $19; +$0._valueMarginTop = $48; +$0._valueMarginRight = $48; +$0._valueMarginBottom = $48; +$0._valueMarginLeft = $48; +$0._computedLeftTypeAuto = $13; +$0._computedLeftTypeFlex = $13; +$0._computedRightValue = $19; +$0._computedRightParsed = $19; +$0._computedRightType = $19; +$0._computedRightTypeNull = $12; +$0._computedRightTypePixel = $13; +$0._computedRightTypePercent = $13; +$0._computedRightTypeAuto = $13; +$0._computedRightTypeFlex = $13; +$0._valueRight = $19; +$0._computedMinWidthValue = $19; +$0._computedMinWidthParsed = $19; +$0._computedMinWidthType = $19; +$0._computedMinWidthTypeNull = $12; +$0._computedMinWidthTypePixel = $13; +$0._computedMinWidthTypePercent = $13; +$0._computedMinWidthTypeAuto = $13; +$0._computedMinWidthTypeFlex = $13; +$0._valueMinWidth = $19; +$0._computedMaxWidthValue = $19; +$0._computedMaxWidthParsed = $19; +$0._computedMaxWidthType = $19; +$0._computedMaxWidthTypeNull = $12; +$0._computedMaxWidthTypePixel = $13; +$0._computedMaxWidthTypePercent = $13; +$0._computedMaxWidthTypeAuto = $13; +$0._computedMaxWidthTypeFlex = $13; +$0._valueMaxWidth = $19; +$0._computedTopTypeAuto = $13; +$0._computedTopTypeFlex = $13; +$0._computedBottomValue = $19; +$0._computedBottomParsed = $19; +$0._computedBottomType = $19; +$0._computedBottomTypeNull = $12; +$0._computedBottomTypePixel = $13; +$0._computedBottomTypePercent = $13; +$0._computedBottomTypeAuto = $13; +$0._computedBottomTypeFlex = $13; +$0._valueBottom = $19; +$0._computedMinHeightValue = $19; +$0._computedMinHeightParsed = $19; +$0._computedMinHeightType = $19; +$0._computedMinHeightTypeNull = $12; +$0._computedMinHeightTypePixel = $13; +$0._computedMinHeightTypePercent = $13; +$0._computedMinHeightTypeAuto = $13; +$0._computedMinHeightTypeFlex = $13; +$0._valueMinHeight = $19; +$0._computedMaxHeightValue = $19; +$0._computedMaxHeightParsed = $19; +$0._computedMaxHeightType = $19; +$0._computedMaxHeightTypeNull = $12; +$0._computedMaxHeightTypePixel = $13; +$0._computedMaxHeightTypePercent = $13; +$0._computedMaxHeightTypeAuto = $13; +$0._computedMaxHeightTypeFlex = $13; +$0._valueMaxHeight = $19; +$0._isDisplayed = $12; +$0._cachedOuterWidth = $19; +$0._cachedOuterHeight = $19; +$0._cachedHasPercentX = $13; +$0._cachedHasPercentY = $13; +$0._cachedHasFlexX = $13; +$0._cachedHasFlexY = $13; +$0._clonePropertyIgnoreList = $53; +$0._valueEnabled = $12; +$0._disposed = $13; +$2["className"] = $3; +$4["qxhashcode"] = $1; +$5["MozUserSelect"] = $6; +$5["userSelect"] = $6; +$5["MozUserFocus"] = $7; +$5["userFocus"] = $7; +$5["cursor"] = $8; +$5["backgroundColor"] = $9; +$11["out"] = $12; +$11["blurred"] = $12; +$11["enabled"] = $12; +$11["inactive"] = $12; +$11["unchecked"] = $12; +$11["notpressed"] = $12; +$11["notselected"] = $12; +$11["notanchor"] = $12; +$11["notlead"] = $12; +$23[0] = $24; +$23[1] = $54; +$24._hashCode = $25; +$24._htmlProperties = $26; +$24._htmlAttributes = $29; +$24._styleProperties = $30; +$24._layoutChanges = $31; +$24._states = $32; +$24._manager = $33; +$24._valueSelectable = $13; +$24._valueAllowStretchX = $13; +$24._valueAllowStretchY = $13; +$24._valueSource = $34; +$24._valueWidth = $16; +$24._computedWidthType = $17; +$24._computedWidthTypeAuto = $12; +$24._computedWidthTypeNull = $13; +$24._computedWidthTypeFlex = $13; +$24._computedWidthTypePercent = $13; +$24._computedWidthTypePixel = $13; +$24._computedWidthValue = $35; +$24._computedWidthParsed = $19; +$24._cachedHasAutoX = $19; +$24._valueHeight = $16; +$24._computedHeightType = $17; +$24._computedHeightTypeAuto = $12; +$24._computedHeightTypeNull = $13; +$24._computedHeightTypeFlex = $13; +$24._computedHeightTypePercent = $13; +$24._computedHeightTypePixel = $13; +$24._computedHeightValue = $35; +$24._computedHeightParsed = $19; +$24._cachedHasAutoY = $19; +$24._valueAnonymous = $12; +$24._valueParent = $0; +$24._hasParent = $12; +$24._isDisplayable = $12; +$24._isCreated = $12; +$24._valuePreloader = $36; +$24._valueLoaded = $12; +$24._cachedPreferredInnerWidth = $35; +$24._cachedFrameWidth = $48; +$24._cachedPreferredBoxWidth = $35; +$24._cachedPreferredInnerHeight = $35; +$24._cachedFrameHeight = $48; +$24._cachedPreferredBoxHeight = $35; +$24._cachedBoxWidth = $35; +$24._cachedOuterWidth = $35; +$24._cachedLocationHorizontal = $15; +$24._cachedBoxHeight = $35; +$24._cachedOuterHeight = $35; +$24._initialLayoutDone = $12; +$24._isSeeable = $12; +$24.classname = $49; +$24._properties = $50; +$24._valueResizeToInner = $13; +$24._valueVisibility = $12; +$24._valueDisplay = $12; +$24._valueTagName = $51; +$24._valueHorizontalAlign = $19; +$24._valueVerticalAlign = $19; +$24._valueZIndex = $19; +$24._valueBackgroundColor = $19; +$24._valueColor = $19; +$24._valueBorder = $19; +$24._valueFont = $19; +$24._valueOpacity = $19; +$24._valueCursor = $19; +$24._valueBackgroundImage = $19; +$24._valueOverflow = $19; +$24._valueClipLeft = $19; +$24._valueClipTop = $19; +$24._valueClipWidth = $19; +$24._valueClipHeight = $19; +$24._valueTabIndex = $52; +$24._valueHideFocus = $13; +$24._valueEnableElementFocus = $12; +$24._valueFocused = $13; +$24._valueToolTip = $19; +$24._valueContextMenu = $19; +$24._valueCapture = $13; +$24._valueDropDataTypes = $19; +$24._valueCommand = $19; +$24._valueAppearance = $19; +$24._valueMarginTop = $48; +$24._valueMarginRight = $48; +$24._valueMarginBottom = $48; +$24._valueMarginLeft = $48; +$24._valuePaddingTop = $48; +$24._valuePaddingRight = $48; +$24._valuePaddingBottom = $48; +$24._valuePaddingLeft = $48; +$24._computedLeftValue = $19; +$24._computedLeftParsed = $19; +$24._computedLeftType = $19; +$24._computedLeftTypeNull = $12; +$24._computedLeftTypePixel = $13; +$24._computedLeftTypePercent = $13; +$24._computedLeftTypeAuto = $13; +$24._computedLeftTypeFlex = $13; +$24._valueLeft = $19; +$24._computedRightValue = $19; +$24._computedRightParsed = $19; +$24._computedRightType = $19; +$24._computedRightTypeNull = $12; +$24._computedRightTypePixel = $13; +$24._computedRightTypePercent = $13; +$24._computedRightTypeAuto = $13; +$24._computedRightTypeFlex = $13; +$24._valueRight = $19; +$24._computedMinWidthValue = $19; +$24._computedMinWidthParsed = $19; +$24._computedMinWidthType = $19; +$24._computedMinWidthTypeNull = $12; +$24._computedMinWidthTypePixel = $13; +$24._computedMinWidthTypePercent = $13; +$24._computedMinWidthTypeAuto = $13; +$24._computedMinWidthTypeFlex = $13; +$24._valueMinWidth = $19; +$24._computedMaxWidthValue = $19; +$24._computedMaxWidthParsed = $19; +$24._computedMaxWidthType = $19; +$24._computedMaxWidthTypeNull = $12; +$24._computedMaxWidthTypePixel = $13; +$24._computedMaxWidthTypePercent = $13; +$24._computedMaxWidthTypeAuto = $13; +$24._computedMaxWidthTypeFlex = $13; +$24._valueMaxWidth = $19; +$24._computedTopValue = $19; +$24._computedTopParsed = $19; +$24._computedTopType = $19; +$24._computedTopTypeNull = $12; +$24._computedTopTypePixel = $13; +$24._computedTopTypePercent = $13; +$24._computedTopTypeAuto = $13; +$24._computedTopTypeFlex = $13; +$24._valueTop = $19; +$24._computedBottomValue = $19; +$24._computedBottomParsed = $19; +$24._computedBottomType = $19; +$24._computedBottomTypeNull = $12; +$24._computedBottomTypePixel = $13; +$24._computedBottomTypePercent = $13; +$24._computedBottomTypeAuto = $13; +$24._computedBottomTypeFlex = $13; +$24._valueBottom = $19; +$24._computedMinHeightValue = $19; +$24._computedMinHeightParsed = $19; +$24._computedMinHeightType = $19; +$24._computedMinHeightTypeNull = $12; +$24._computedMinHeightTypePixel = $13; +$24._computedMinHeightTypePercent = $13; +$24._computedMinHeightTypeAuto = $13; +$24._computedMinHeightTypeFlex = $13; +$24._valueMinHeight = $19; +$24._computedMaxHeightValue = $19; +$24._computedMaxHeightParsed = $19; +$24._computedMaxHeightType = $19; +$24._computedMaxHeightTypeNull = $12; +$24._computedMaxHeightTypePixel = $13; +$24._computedMaxHeightTypePercent = $13; +$24._computedMaxHeightTypeAuto = $13; +$24._computedMaxHeightTypeFlex = $13; +$24._valueMaxHeight = $19; +$24._isDisplayed = $12; +$24._cachedInnerWidth = $19; +$24._cachedInnerHeight = $19; +$24._cachedHasPercentX = $13; +$24._cachedHasPercentY = $13; +$24._cachedHasFlexX = $13; +$24._cachedHasFlexY = $13; +$24._cachedBorderTop = $48; +$24._cachedBorderRight = $48; +$24._cachedBorderBottom = $48; +$24._cachedBorderLeft = $48; +$24._clonePropertyIgnoreList = $53; +$24._valueEnabled = $12; +$24._disposed = $13; +$26["className"] = $27; +$26["alt"] = $28; +$26["title"] = $28; +$29["qxhashcode"] = $25; +$30["MozUserSelect"] = $6; +$30["userSelect"] = $6; +$32["out"] = $12; +$32["blurred"] = $12; +$32["enabled"] = $12; +$32["inactive"] = $12; +$32["unchecked"] = $12; +$32["notpressed"] = $12; +$32["notselected"] = $12; +$32["notanchor"] = $12; +$32["notlead"] = $12; +$36._hashCode = $37; +$36._source = $38; +$36._isLoaded = $12; +$36._isError = $13; +$36.classname = $39; +$36._manager = $40; +$36._isPng = $13; +$36._valueEnabled = $12; +$36._properties = $46; +$36._disposed = $13; +$40._hashCode = $41; +$40._objects = $42; +$40.classname = $47; +$40._valueEnabled = $12; +$40._properties = $46; +$40._disposed = $13; +$42["../../images/icons/crystalsvg/32/penguin.png"] = $36; +$42["../../images/icons/crystalsvg/32/appearance.png"] = $43; +$43._hashCode = $44; +$43._source = $45; +$43._isLoaded = $12; +$43._isError = $13; +$43.classname = $39; +$43._manager = $40; +$43._isPng = $13; +$43._valueEnabled = $12; +$43._properties = $46; +$43._disposed = $13; +$54._hashCode = $55; +$54._htmlProperties = $56; +$54._htmlAttributes = $58; +$54._styleProperties = $59; +$54._layoutChanges = $60; +$54._states = $61; +$54._valueAllowStretchX = $13; +$54._valueAllowStretchY = $13; +$54._valueWidth = $16; +$54._computedWidthType = $17; +$54._computedWidthTypeAuto = $12; +$54._computedWidthTypeNull = $13; +$54._computedWidthTypeFlex = $13; +$54._computedWidthTypePercent = $13; +$54._computedWidthTypePixel = $13; +$54._computedWidthValue = $62; +$54._computedWidthParsed = $19; +$54._cachedHasAutoX = $19; +$54._valueHeight = $16; +$54._computedHeightType = $17; +$54._computedHeightTypeAuto = $12; +$54._computedHeightTypeNull = $13; +$54._computedHeightTypeFlex = $13; +$54._computedHeightTypePercent = $13; +$54._computedHeightTypePixel = $13; +$54._computedHeightValue = $63; +$54._computedHeightParsed = $19; +$54._cachedHasAutoY = $19; +$54._valueAnonymous = $12; +$54._valueSelectable = $13; +$54._valueHtml = $64; +$54._htmlMode = $19; +$54._valueParent = $0; +$54._hasParent = $12; +$54._isDisplayable = $12; +$54._isCreated = $12; +$54._cachedPreferredInnerWidth = $62; +$54._cachedPreferredInnerHeight = $63; +$54._cachedFrameWidth = $48; +$54._cachedPreferredBoxWidth = $62; +$54._cachedFrameHeight = $48; +$54._cachedPreferredBoxHeight = $63; +$54._cachedBoxWidth = $62; +$54._cachedOuterWidth = $62; +$54._cachedLocationHorizontal = $65; +$54._cachedBoxHeight = $63; +$54._cachedOuterHeight = $63; +$54._initialLayoutDone = $12; +$54._isSeeable = $12; +$54.classname = $66; +$54._properties = $67; +$54._valueFontPropertiesProfile = $8; +$54._valueMeasureMode = $68; +$54._valueMnemonic = $19; +$54._hasMnemonic = $13; +$54._mnemonicHtml = $28; +$54._mnemonicTest = $19; +$54._valueVisibility = $12; +$54._valueDisplay = $12; +$54._valueTagName = $51; +$54._valueHorizontalAlign = $19; +$54._valueVerticalAlign = $19; +$54._valueZIndex = $19; +$54._valueBackgroundColor = $19; +$54._valueColor = $19; +$54._valueBorder = $19; +$54._valueFont = $19; +$54._valueOpacity = $19; +$54._valueCursor = $19; +$54._valueBackgroundImage = $19; +$54._valueOverflow = $19; +$54._valueClipLeft = $19; +$54._valueClipTop = $19; +$54._valueClipWidth = $19; +$54._valueClipHeight = $19; +$54._valueTabIndex = $52; +$54._valueHideFocus = $13; +$54._valueEnableElementFocus = $12; +$54._valueFocused = $13; +$54._valueToolTip = $19; +$54._valueContextMenu = $19; +$54._valueCapture = $13; +$54._valueDropDataTypes = $19; +$54._valueCommand = $19; +$54._valueAppearance = $19; +$54._valueMarginTop = $48; +$54._valueMarginRight = $48; +$54._valueMarginBottom = $48; +$54._valueMarginLeft = $48; +$54._valuePaddingTop = $48; +$54._valuePaddingRight = $48; +$54._valuePaddingBottom = $48; +$54._valuePaddingLeft = $48; +$54._computedLeftValue = $19; +$54._computedLeftParsed = $19; +$54._computedLeftType = $19; +$54._computedLeftTypeNull = $12; +$54._computedLeftTypePixel = $13; +$54._computedLeftTypePercent = $13; +$54._computedLeftTypeAuto = $13; +$54._computedLeftTypeFlex = $13; +$54._valueLeft = $19; +$54._computedRightValue = $19; +$54._computedRightParsed = $19; +$54._computedRightType = $19; +$54._computedRightTypeNull = $12; +$54._computedRightTypePixel = $13; +$54._computedRightTypePercent = $13; +$54._computedRightTypeAuto = $13; +$54._computedRightTypeFlex = $13; +$54._valueRight = $19; +$54._computedMinWidthValue = $19; +$54._computedMinWidthParsed = $19; +$54._computedMinWidthType = $19; +$54._computedMinWidthTypeNull = $12; +$54._computedMinWidthTypePixel = $13; +$54._computedMinWidthTypePercent = $13; +$54._computedMinWidthTypeAuto = $13; +$54._computedMinWidthTypeFlex = $13; +$54._valueMinWidth = $19; +$54._computedMaxWidthValue = $19; +$54._computedMaxWidthParsed = $19; +$54._computedMaxWidthType = $19; +$54._computedMaxWidthTypeNull = $12; +$54._computedMaxWidthTypePixel = $13; +$54._computedMaxWidthTypePercent = $13; +$54._computedMaxWidthTypeAuto = $13; +$54._computedMaxWidthTypeFlex = $13; +$54._valueMaxWidth = $19; +$54._computedTopValue = $19; +$54._computedTopParsed = $19; +$54._computedTopType = $19; +$54._computedTopTypeNull = $12; +$54._computedTopTypePixel = $13; +$54._computedTopTypePercent = $13; +$54._computedTopTypeAuto = $13; +$54._computedTopTypeFlex = $13; +$54._valueTop = $19; +$54._computedBottomValue = $19; +$54._computedBottomParsed = $19; +$54._computedBottomType = $19; +$54._computedBottomTypeNull = $12; +$54._computedBottomTypePixel = $13; +$54._computedBottomTypePercent = $13; +$54._computedBottomTypeAuto = $13; +$54._computedBottomTypeFlex = $13; +$54._valueBottom = $19; +$54._computedMinHeightValue = $19; +$54._computedMinHeightParsed = $19; +$54._computedMinHeightType = $19; +$54._computedMinHeightTypeNull = $12; +$54._computedMinHeightTypePixel = $13; +$54._computedMinHeightTypePercent = $13; +$54._computedMinHeightTypeAuto = $13; +$54._computedMinHeightTypeFlex = $13; +$54._valueMinHeight = $19; +$54._computedMaxHeightValue = $19; +$54._computedMaxHeightParsed = $19; +$54._computedMaxHeightType = $19; +$54._computedMaxHeightTypeNull = $12; +$54._computedMaxHeightTypePixel = $13; +$54._computedMaxHeightTypePercent = $13; +$54._computedMaxHeightTypeAuto = $13; +$54._computedMaxHeightTypeFlex = $13; +$54._valueMaxHeight = $19; +$54._isDisplayed = $12; +$54._cachedInnerWidth = $19; +$54._cachedInnerHeight = $19; +$54._cachedHasPercentX = $13; +$54._cachedHasPercentY = $13; +$54._cachedHasFlexX = $13; +$54._cachedHasFlexY = $13; +$54._cachedBorderTop = $48; +$54._cachedBorderRight = $48; +$54._cachedBorderBottom = $48; +$54._cachedBorderLeft = $48; +$54._clonePropertyIgnoreList = $53; +$54._valueEnabled = $12; +$54._disposed = $13; +$56["className"] = $57; +$58["qxhashcode"] = $55; +$59["MozUserSelect"] = $6; +$59["userSelect"] = $6; +$61["out"] = $12; +$61["blurred"] = $12; +$61["enabled"] = $12; +$61["inactive"] = $12; +$61["unchecked"] = $12; +$61["notpressed"] = $12; +$61["notselected"] = $12; +$61["notanchor"] = $12; +$61["notlead"] = $12; +$69._hashCode = $70; +$69._widget = $0; +$69.classname = $71; +$69._valueEnableFlexSupport = $12; +$69._properties = $72; +$69._valueEnabled = $12; +$69._disposed = $13; +$74["mouseover"] = $75; +$74["mouseout"] = $79; +$74["mousedown"] = $82; +$74["mouseup"] = $85; +$74["keydown"] = $88; +$74["keyup"] = $91; +$75["evt80"] = $76; +$76["handler"] = $77; +$76["object"] = $78; +$79["evt81"] = $80; +$80["handler"] = $81; +$80["object"] = $78; +$82["evt82"] = $83; +$83["handler"] = $84; +$83["object"] = $78; +$85["evt83"] = $86; +$86["handler"] = $87; +$86["object"] = $78; +$88["evt84"] = $89; +$89["handler"] = $90; +$89["object"] = $78; +$91["evt85"] = $92; +$92["handler"] = $93; +$92["object"] = $78; +$97._isHtmlColor = $13; +$97._isRgbColor = $13; +$97._isThemedColor = $12; +$97._hex = $19; +$97._blue = $19; +$97._green = $19; +$97._red = $19; +$97._value = $9; +$97._hashCode = $98; +$97._dependentObjects = $99; +$97.classname = $181; +$97._manager = $182; +$97._valueEnabled = $12; +$97._properties = $46; +$97._disposed = $13; +$99["74"] = $0; +$99["86"] = $100; +$100._hashCode = $101; +$100._htmlProperties = $102; +$100._htmlAttributes = $103; +$100._styleProperties = $104; +$100._layoutChanges = $105; +$100._states = $106; +$100._valueSelectable = $13; +$100._valueTabIndex = $14; +$100._valueSpacing = $15; +$100._valueWidth = $16; +$100._computedWidthType = $17; +$100._computedWidthTypeAuto = $12; +$100._computedWidthTypeNull = $13; +$100._computedWidthTypeFlex = $13; +$100._computedWidthTypePercent = $13; +$100._computedWidthTypePixel = $13; +$100._computedWidthValue = $18; +$100._computedWidthParsed = $19; +$100._cachedHasAutoX = $19; +$100._valueHeight = $16; +$100._computedHeightType = $17; +$100._computedHeightTypeAuto = $12; +$100._computedHeightTypeNull = $13; +$100._computedHeightTypeFlex = $13; +$100._computedHeightTypePercent = $13; +$100._computedHeightTypePixel = $13; +$100._computedHeightValue = $20; +$100._computedHeightParsed = $19; +$100._cachedHasAutoY = $19; +$100._valueHorizontalChildrenAlign = $21; +$100._layoutMode = $21; +$100._valueVerticalChildrenAlign = $22; +$100._valueStretchChildrenOrthogonalAxis = $13; +$100._valuePaddingTop = $17; +$100._valuePaddingRight = $15; +$100._valuePaddingBottom = $17; +$100._valuePaddingLeft = $15; +$100._children = $107; +$100._layoutImpl = $123; +$100._valueOrientation = $73; +$100._layoutHorizontal = $12; +$100._layoutVertical = $13; +$100._valueCursor = $8; +$100._valueLabel = $64; +$100._labelIsVisible = $12; +$100._label = $116; +$100._valueIcon = $115; +$100._iconIsVisible = $12; +$100._icon = $108; +$100._listeners = $125; +$100._valueLeft = $144; +$100._computedLeftType = $14; +$100._computedLeftTypePixel = $12; +$100._computedLeftTypeNull = $13; +$100._computedLeftTypePercent = $13; +$100._computedLeftValue = $144; +$100._computedLeftParsed = $144; +$100._valueTop = $95; +$100._computedTopType = $14; +$100._computedTopTypePixel = $12; +$100._computedTopTypeNull = $13; +$100._computedTopTypePercent = $13; +$100._computedTopValue = $95; +$100._computedTopParsed = $95; +$100._valueParent = $96; +$100._hasParent = $12; +$100._isDisplayable = $12; +$100._isCreated = $12; +$100._valueBackgroundColor = $97; +$100._valueBorder = $145; +$100._cachedBorderTop = $154; +$100._cachedBorderRight = $154; +$100._cachedBorderBottom = $154; +$100._cachedBorderLeft = $154; +$100._cachedVisibleChildren = $158; +$100._cachedPreferredInnerWidth = $109; +$100._cachedFrameWidth = $159; +$100._cachedPreferredBoxWidth = $18; +$100._cachedPreferredInnerHeight = $35; +$100._cachedFrameHeight = $160; +$100._cachedPreferredBoxHeight = $20; +$100._initialLayoutDone = $12; +$100._cachedBoxWidth = $18; +$100._cachedInnerWidth = $109; +$100._cachedAccumulatedChildrenOuterWidth = $109; +$100._cachedBoxHeight = $20; +$100._cachedInnerHeight = $35; +$100._isSeeable = $12; +$100.classname = $161; +$100._properties = $162; +$100._valueShow = $163; +$100._valueIconPosition = $164; +$100._valueIconWidth = $19; +$100._valueIconHeight = $19; +$100._flashMode = $13; +$100._valueReverseChildrenOrder = $13; +$100._valueUseAdvancedFlexAllocation = $13; +$100._cachedAccumulatedChildrenOuterHeight = $19; +$100._valueFocusManager = $19; +$100._valueActiveChild = $19; +$100._remappingChildTable = $165; +$100._valueVisibility = $12; +$100._valueDisplay = $12; +$100._valueAnonymous = $13; +$100._valueTagName = $51; +$100._valueHorizontalAlign = $19; +$100._valueVerticalAlign = $19; +$100._valueAllowStretchX = $12; +$100._valueAllowStretchY = $12; +$100._valueZIndex = $19; +$100._valueColor = $19; +$100._valueFont = $19; +$100._valueOpacity = $19; +$100._valueBackgroundImage = $19; +$100._valueOverflow = $19; +$100._valueClipLeft = $19; +$100._valueClipTop = $19; +$100._valueClipWidth = $19; +$100._valueClipHeight = $19; +$100._valueHideFocus = $13; +$100._valueEnableElementFocus = $12; +$100._valueFocused = $13; +$100._valueToolTip = $19; +$100._valueContextMenu = $19; +$100._valueCapture = $13; +$100._valueDropDataTypes = $19; +$100._valueCommand = $19; +$100._valueAppearance = $19; +$100._valueMarginTop = $48; +$100._valueMarginRight = $48; +$100._valueMarginBottom = $48; +$100._valueMarginLeft = $48; +$100._computedLeftTypeAuto = $13; +$100._computedLeftTypeFlex = $13; +$100._computedRightValue = $19; +$100._computedRightParsed = $19; +$100._computedRightType = $19; +$100._computedRightTypeNull = $12; +$100._computedRightTypePixel = $13; +$100._computedRightTypePercent = $13; +$100._computedRightTypeAuto = $13; +$100._computedRightTypeFlex = $13; +$100._valueRight = $19; +$100._computedMinWidthValue = $19; +$100._computedMinWidthParsed = $19; +$100._computedMinWidthType = $19; +$100._computedMinWidthTypeNull = $12; +$100._computedMinWidthTypePixel = $13; +$100._computedMinWidthTypePercent = $13; +$100._computedMinWidthTypeAuto = $13; +$100._computedMinWidthTypeFlex = $13; +$100._valueMinWidth = $19; +$100._computedMaxWidthValue = $19; +$100._computedMaxWidthParsed = $19; +$100._computedMaxWidthType = $19; +$100._computedMaxWidthTypeNull = $12; +$100._computedMaxWidthTypePixel = $13; +$100._computedMaxWidthTypePercent = $13; +$100._computedMaxWidthTypeAuto = $13; +$100._computedMaxWidthTypeFlex = $13; +$100._valueMaxWidth = $19; +$100._computedTopTypeAuto = $13; +$100._computedTopTypeFlex = $13; +$100._computedBottomValue = $19; +$100._computedBottomParsed = $19; +$100._computedBottomType = $19; +$100._computedBottomTypeNull = $12; +$100._computedBottomTypePixel = $13; +$100._computedBottomTypePercent = $13; +$100._computedBottomTypeAuto = $13; +$100._computedBottomTypeFlex = $13; +$100._valueBottom = $19; +$100._computedMinHeightValue = $19; +$100._computedMinHeightParsed = $19; +$100._computedMinHeightType = $19; +$100._computedMinHeightTypeNull = $12; +$100._computedMinHeightTypePixel = $13; +$100._computedMinHeightTypePercent = $13; +$100._computedMinHeightTypeAuto = $13; +$100._computedMinHeightTypeFlex = $13; +$100._valueMinHeight = $19; +$100._computedMaxHeightValue = $19; +$100._computedMaxHeightParsed = $19; +$100._computedMaxHeightType = $19; +$100._computedMaxHeightTypeNull = $12; +$100._computedMaxHeightTypePixel = $13; +$100._computedMaxHeightTypePercent = $13; +$100._computedMaxHeightTypeAuto = $13; +$100._computedMaxHeightTypeFlex = $13; +$100._valueMaxHeight = $19; +$100._isDisplayed = $12; +$100._cachedOuterWidth = $19; +$100._cachedOuterHeight = $19; +$100._cachedHasPercentX = $13; +$100._cachedHasPercentY = $13; +$100._cachedHasFlexX = $13; +$100._cachedHasFlexY = $13; +$100._clonePropertyIgnoreList = $53; +$100._valueEnabled = $12; +$100._disposed = $13; +$102["className"] = $3; +$103["qxhashcode"] = $101; +$104["MozUserSelect"] = $6; +$104["userSelect"] = $6; +$104["MozUserFocus"] = $7; +$104["userFocus"] = $7; +$104["cursor"] = $8; +$104["backgroundColor"] = $9; +$106["out"] = $12; +$106["blurred"] = $12; +$106["enabled"] = $12; +$106["inactive"] = $12; +$106["unchecked"] = $12; +$106["notpressed"] = $12; +$106["notselected"] = $12; +$106["notanchor"] = $12; +$106["notlead"] = $12; +$107[0] = $108; +$107[1] = $116; +$108._hashCode = $109; +$108._htmlProperties = $110; +$108._htmlAttributes = $111; +$108._styleProperties = $112; +$108._layoutChanges = $113; +$108._states = $114; +$108._manager = $33; +$108._valueSelectable = $13; +$108._valueAllowStretchX = $13; +$108._valueAllowStretchY = $13; +$108._valueSource = $115; +$108._valueWidth = $16; +$108._computedWidthType = $17; +$108._computedWidthTypeAuto = $12; +$108._computedWidthTypeNull = $13; +$108._computedWidthTypeFlex = $13; +$108._computedWidthTypePercent = $13; +$108._computedWidthTypePixel = $13; +$108._computedWidthValue = $35; +$108._computedWidthParsed = $19; +$108._cachedHasAutoX = $19; +$108._valueHeight = $16; +$108._computedHeightType = $17; +$108._computedHeightTypeAuto = $12; +$108._computedHeightTypeNull = $13; +$108._computedHeightTypeFlex = $13; +$108._computedHeightTypePercent = $13; +$108._computedHeightTypePixel = $13; +$108._computedHeightValue = $35; +$108._computedHeightParsed = $19; +$108._cachedHasAutoY = $19; +$108._valueAnonymous = $12; +$108._valueParent = $100; +$108._hasParent = $12; +$108._isDisplayable = $12; +$108._isCreated = $12; +$108._valuePreloader = $43; +$108._valueLoaded = $12; +$108._cachedPreferredInnerWidth = $35; +$108._cachedFrameWidth = $48; +$108._cachedPreferredBoxWidth = $35; +$108._cachedPreferredInnerHeight = $35; +$108._cachedFrameHeight = $48; +$108._cachedPreferredBoxHeight = $35; +$108._cachedBoxWidth = $35; +$108._cachedOuterWidth = $35; +$108._cachedLocationHorizontal = $15; +$108._cachedBoxHeight = $35; +$108._cachedOuterHeight = $35; +$108._initialLayoutDone = $12; +$108._isSeeable = $12; +$108.classname = $49; +$108._properties = $50; +$108._valueResizeToInner = $13; +$108._valueVisibility = $12; +$108._valueDisplay = $12; +$108._valueTagName = $51; +$108._valueHorizontalAlign = $19; +$108._valueVerticalAlign = $19; +$108._valueZIndex = $19; +$108._valueBackgroundColor = $19; +$108._valueColor = $19; +$108._valueBorder = $19; +$108._valueFont = $19; +$108._valueOpacity = $19; +$108._valueCursor = $19; +$108._valueBackgroundImage = $19; +$108._valueOverflow = $19; +$108._valueClipLeft = $19; +$108._valueClipTop = $19; +$108._valueClipWidth = $19; +$108._valueClipHeight = $19; +$108._valueTabIndex = $52; +$108._valueHideFocus = $13; +$108._valueEnableElementFocus = $12; +$108._valueFocused = $13; +$108._valueToolTip = $19; +$108._valueContextMenu = $19; +$108._valueCapture = $13; +$108._valueDropDataTypes = $19; +$108._valueCommand = $19; +$108._valueAppearance = $19; +$108._valueMarginTop = $48; +$108._valueMarginRight = $48; +$108._valueMarginBottom = $48; +$108._valueMarginLeft = $48; +$108._valuePaddingTop = $48; +$108._valuePaddingRight = $48; +$108._valuePaddingBottom = $48; +$108._valuePaddingLeft = $48; +$108._computedLeftValue = $19; +$108._computedLeftParsed = $19; +$108._computedLeftType = $19; +$108._computedLeftTypeNull = $12; +$108._computedLeftTypePixel = $13; +$108._computedLeftTypePercent = $13; +$108._computedLeftTypeAuto = $13; +$108._computedLeftTypeFlex = $13; +$108._valueLeft = $19; +$108._computedRightValue = $19; +$108._computedRightParsed = $19; +$108._computedRightType = $19; +$108._computedRightTypeNull = $12; +$108._computedRightTypePixel = $13; +$108._computedRightTypePercent = $13; +$108._computedRightTypeAuto = $13; +$108._computedRightTypeFlex = $13; +$108._valueRight = $19; +$108._computedMinWidthValue = $19; +$108._computedMinWidthParsed = $19; +$108._computedMinWidthType = $19; +$108._computedMinWidthTypeNull = $12; +$108._computedMinWidthTypePixel = $13; +$108._computedMinWidthTypePercent = $13; +$108._computedMinWidthTypeAuto = $13; +$108._computedMinWidthTypeFlex = $13; +$108._valueMinWidth = $19; +$108._computedMaxWidthValue = $19; +$108._computedMaxWidthParsed = $19; +$108._computedMaxWidthType = $19; +$108._computedMaxWidthTypeNull = $12; +$108._computedMaxWidthTypePixel = $13; +$108._computedMaxWidthTypePercent = $13; +$108._computedMaxWidthTypeAuto = $13; +$108._computedMaxWidthTypeFlex = $13; +$108._valueMaxWidth = $19; +$108._computedTopValue = $19; +$108._computedTopParsed = $19; +$108._computedTopType = $19; +$108._computedTopTypeNull = $12; +$108._computedTopTypePixel = $13; +$108._computedTopTypePercent = $13; +$108._computedTopTypeAuto = $13; +$108._computedTopTypeFlex = $13; +$108._valueTop = $19; +$108._computedBottomValue = $19; +$108._computedBottomParsed = $19; +$108._computedBottomType = $19; +$108._computedBottomTypeNull = $12; +$108._computedBottomTypePixel = $13; +$108._computedBottomTypePercent = $13; +$108._computedBottomTypeAuto = $13; +$108._computedBottomTypeFlex = $13; +$108._valueBottom = $19; +$108._computedMinHeightValue = $19; +$108._computedMinHeightParsed = $19; +$108._computedMinHeightType = $19; +$108._computedMinHeightTypeNull = $12; +$108._computedMinHeightTypePixel = $13; +$108._computedMinHeightTypePercent = $13; +$108._computedMinHeightTypeAuto = $13; +$108._computedMinHeightTypeFlex = $13; +$108._valueMinHeight = $19; +$108._computedMaxHeightValue = $19; +$108._computedMaxHeightParsed = $19; +$108._computedMaxHeightType = $19; +$108._computedMaxHeightTypeNull = $12; +$108._computedMaxHeightTypePixel = $13; +$108._computedMaxHeightTypePercent = $13; +$108._computedMaxHeightTypeAuto = $13; +$108._computedMaxHeightTypeFlex = $13; +$108._valueMaxHeight = $19; +$108._isDisplayed = $12; +$108._cachedInnerWidth = $19; +$108._cachedInnerHeight = $19; +$108._cachedHasPercentX = $13; +$108._cachedHasPercentY = $13; +$108._cachedHasFlexX = $13; +$108._cachedHasFlexY = $13; +$108._cachedBorderTop = $48; +$108._cachedBorderRight = $48; +$108._cachedBorderBottom = $48; +$108._cachedBorderLeft = $48; +$108._clonePropertyIgnoreList = $53; +$108._valueEnabled = $12; +$108._disposed = $13; +$110["className"] = $27; +$110["alt"] = $28; +$110["title"] = $28; +$111["qxhashcode"] = $109; +$112["MozUserSelect"] = $6; +$112["userSelect"] = $6; +$114["out"] = $12; +$114["blurred"] = $12; +$114["enabled"] = $12; +$114["inactive"] = $12; +$114["unchecked"] = $12; +$114["notpressed"] = $12; +$114["notselected"] = $12; +$114["notanchor"] = $12; +$114["notlead"] = $12; +$116._hashCode = $117; +$116._htmlProperties = $118; +$116._htmlAttributes = $119; +$116._styleProperties = $120; +$116._layoutChanges = $121; +$116._states = $122; +$116._valueAllowStretchX = $13; +$116._valueAllowStretchY = $13; +$116._valueWidth = $16; +$116._computedWidthType = $17; +$116._computedWidthTypeAuto = $12; +$116._computedWidthTypeNull = $13; +$116._computedWidthTypeFlex = $13; +$116._computedWidthTypePercent = $13; +$116._computedWidthTypePixel = $13; +$116._computedWidthValue = $62; +$116._computedWidthParsed = $19; +$116._cachedHasAutoX = $19; +$116._valueHeight = $16; +$116._computedHeightType = $17; +$116._computedHeightTypeAuto = $12; +$116._computedHeightTypeNull = $13; +$116._computedHeightTypeFlex = $13; +$116._computedHeightTypePercent = $13; +$116._computedHeightTypePixel = $13; +$116._computedHeightValue = $63; +$116._computedHeightParsed = $19; +$116._cachedHasAutoY = $19; +$116._valueAnonymous = $12; +$116._valueSelectable = $13; +$116._valueHtml = $64; +$116._htmlMode = $19; +$116._valueParent = $100; +$116._hasParent = $12; +$116._isDisplayable = $12; +$116._isCreated = $12; +$116._cachedPreferredInnerWidth = $62; +$116._cachedPreferredInnerHeight = $63; +$116._cachedFrameWidth = $48; +$116._cachedPreferredBoxWidth = $62; +$116._cachedFrameHeight = $48; +$116._cachedPreferredBoxHeight = $63; +$116._cachedBoxWidth = $62; +$116._cachedOuterWidth = $62; +$116._cachedLocationHorizontal = $65; +$116._cachedBoxHeight = $63; +$116._cachedOuterHeight = $63; +$116._initialLayoutDone = $12; +$116._isSeeable = $12; +$116.classname = $66; +$116._properties = $67; +$116._valueFontPropertiesProfile = $8; +$116._valueMeasureMode = $68; +$116._valueMnemonic = $19; +$116._hasMnemonic = $13; +$116._mnemonicHtml = $28; +$116._mnemonicTest = $19; +$116._valueVisibility = $12; +$116._valueDisplay = $12; +$116._valueTagName = $51; +$116._valueHorizontalAlign = $19; +$116._valueVerticalAlign = $19; +$116._valueZIndex = $19; +$116._valueBackgroundColor = $19; +$116._valueColor = $19; +$116._valueBorder = $19; +$116._valueFont = $19; +$116._valueOpacity = $19; +$116._valueCursor = $19; +$116._valueBackgroundImage = $19; +$116._valueOverflow = $19; +$116._valueClipLeft = $19; +$116._valueClipTop = $19; +$116._valueClipWidth = $19; +$116._valueClipHeight = $19; +$116._valueTabIndex = $52; +$116._valueHideFocus = $13; +$116._valueEnableElementFocus = $12; +$116._valueFocused = $13; +$116._valueToolTip = $19; +$116._valueContextMenu = $19; +$116._valueCapture = $13; +$116._valueDropDataTypes = $19; +$116._valueCommand = $19; +$116._valueAppearance = $19; +$116._valueMarginTop = $48; +$116._valueMarginRight = $48; +$116._valueMarginBottom = $48; +$116._valueMarginLeft = $48; +$116._valuePaddingTop = $48; +$116._valuePaddingRight = $48; +$116._valuePaddingBottom = $48; +$116._valuePaddingLeft = $48; +$116._computedLeftValue = $19; +$116._computedLeftParsed = $19; +$116._computedLeftType = $19; +$116._computedLeftTypeNull = $12; +$116._computedLeftTypePixel = $13; +$116._computedLeftTypePercent = $13; +$116._computedLeftTypeAuto = $13; +$116._computedLeftTypeFlex = $13; +$116._valueLeft = $19; +$116._computedRightValue = $19; +$116._computedRightParsed = $19; +$116._computedRightType = $19; +$116._computedRightTypeNull = $12; +$116._computedRightTypePixel = $13; +$116._computedRightTypePercent = $13; +$116._computedRightTypeAuto = $13; +$116._computedRightTypeFlex = $13; +$116._valueRight = $19; +$116._computedMinWidthValue = $19; +$116._computedMinWidthParsed = $19; +$116._computedMinWidthType = $19; +$116._computedMinWidthTypeNull = $12; +$116._computedMinWidthTypePixel = $13; +$116._computedMinWidthTypePercent = $13; +$116._computedMinWidthTypeAuto = $13; +$116._computedMinWidthTypeFlex = $13; +$116._valueMinWidth = $19; +$116._computedMaxWidthValue = $19; +$116._computedMaxWidthParsed = $19; +$116._computedMaxWidthType = $19; +$116._computedMaxWidthTypeNull = $12; +$116._computedMaxWidthTypePixel = $13; +$116._computedMaxWidthTypePercent = $13; +$116._computedMaxWidthTypeAuto = $13; +$116._computedMaxWidthTypeFlex = $13; +$116._valueMaxWidth = $19; +$116._computedTopValue = $19; +$116._computedTopParsed = $19; +$116._computedTopType = $19; +$116._computedTopTypeNull = $12; +$116._computedTopTypePixel = $13; +$116._computedTopTypePercent = $13; +$116._computedTopTypeAuto = $13; +$116._computedTopTypeFlex = $13; +$116._valueTop = $19; +$116._computedBottomValue = $19; +$116._computedBottomParsed = $19; +$116._computedBottomType = $19; +$116._computedBottomTypeNull = $12; +$116._computedBottomTypePixel = $13; +$116._computedBottomTypePercent = $13; +$116._computedBottomTypeAuto = $13; +$116._computedBottomTypeFlex = $13; +$116._valueBottom = $19; +$116._computedMinHeightValue = $19; +$116._computedMinHeightParsed = $19; +$116._computedMinHeightType = $19; +$116._computedMinHeightTypeNull = $12; +$116._computedMinHeightTypePixel = $13; +$116._computedMinHeightTypePercent = $13; +$116._computedMinHeightTypeAuto = $13; +$116._computedMinHeightTypeFlex = $13; +$116._valueMinHeight = $19; +$116._computedMaxHeightValue = $19; +$116._computedMaxHeightParsed = $19; +$116._computedMaxHeightType = $19; +$116._computedMaxHeightTypeNull = $12; +$116._computedMaxHeightTypePixel = $13; +$116._computedMaxHeightTypePercent = $13; +$116._computedMaxHeightTypeAuto = $13; +$116._computedMaxHeightTypeFlex = $13; +$116._valueMaxHeight = $19; +$116._isDisplayed = $12; +$116._cachedInnerWidth = $19; +$116._cachedInnerHeight = $19; +$116._cachedHasPercentX = $13; +$116._cachedHasPercentY = $13; +$116._cachedHasFlexX = $13; +$116._cachedHasFlexY = $13; +$116._cachedBorderTop = $48; +$116._cachedBorderRight = $48; +$116._cachedBorderBottom = $48; +$116._cachedBorderLeft = $48; +$116._clonePropertyIgnoreList = $53; +$116._valueEnabled = $12; +$116._disposed = $13; +$118["className"] = $57; +$119["qxhashcode"] = $117; +$120["MozUserSelect"] = $6; +$120["userSelect"] = $6; +$122["out"] = $12; +$122["blurred"] = $12; +$122["enabled"] = $12; +$122["inactive"] = $12; +$122["unchecked"] = $12; +$122["notpressed"] = $12; +$122["notselected"] = $12; +$122["notanchor"] = $12; +$122["notlead"] = $12; +$123._hashCode = $124; +$123._widget = $100; +$123.classname = $71; +$123._valueEnableFlexSupport = $12; +$123._properties = $72; +$123._valueEnabled = $12; +$123._disposed = $13; +$125["mouseover"] = $126; +$125["mouseout"] = $129; +$125["mousedown"] = $132; +$125["mouseup"] = $135; +$125["keydown"] = $138; +$125["keyup"] = $141; +$126["evt80"] = $127; +$127["handler"] = $128; +$127["object"] = $78; +$129["evt81"] = $130; +$130["handler"] = $131; +$130["object"] = $78; +$132["evt82"] = $133; +$133["handler"] = $134; +$133["object"] = $78; +$135["evt83"] = $136; +$136["handler"] = $137; +$136["object"] = $78; +$138["evt84"] = $139; +$139["handler"] = $140; +$139["object"] = $78; +$141["evt85"] = $142; +$142["handler"] = $143; +$142["object"] = $78; +$145._dependentObjects = $146; +$145._hashCode = $147; +$145._themedEdges = $148; +$145._defsX = $149; +$145._defsY = $153; +$145._valueTopWidth = $154; +$145._needsCompilationTop = $13; +$145._useEnhancedCrossBrowserMode = $19; +$145._valueRightWidth = $154; +$145._needsCompilationRight = $13; +$145._valueBottomWidth = $154; +$145._needsCompilationBottom = $13; +$145._valueLeftWidth = $154; +$145._needsCompilationLeft = $13; +$145._valueTopStyle = $155; +$145._valueRightStyle = $155; +$145._valueBottomStyle = $155; +$145._valueLeftStyle = $155; +$145.classname = $156; +$145._properties = $157; +$145._valueTopColor = $19; +$145._valueRightColor = $19; +$145._valueBottomColor = $19; +$145._valueLeftColor = $19; +$145._valueEnabled = $12; +$145._disposed = $13; +$146["74"] = $0; +$146["86"] = $100; +$148["topStyle"] = $12; +$148["rightStyle"] = $12; +$148["bottomStyle"] = $12; +$148["leftStyle"] = $12; +$149["borderLeft"] = $150; +$149["borderRight"] = $150; +$149["MozBorderLeftColors"] = $151; +$149["MozBorderRightColors"] = $152; +$153["borderTop"] = $150; +$153["borderBottom"] = $150; +$153["MozBorderTopColors"] = $151; +$153["MozBorderBottomColors"] = $152; +$158[0] = $108; +$158[1] = $116; +$165[0] = $166; +$165[1] = $167; +$165[2] = $168; +$165[3] = $169; +$165[4] = $170; +$165[5] = $171; +$165[6] = $172; +$165[7] = $173; +$165[8] = $174; +$165[9] = $175; +$165[10] = $176; +$165[11] = $177; +$165[12] = $178; +$165[13] = $179; +$165[14] = $180; +$182._hashCode = $14; +$182._objects = $183; +$182._themes = $367; +$182._dependentObjects = $616; +$182._valueTheme = $368; +$182.classname = $617; +$182._properties = $618; +$182._valueEnabled = $12; +$182._disposed = $13; +$183["threeddarkshadow"] = $184; +$183["threedshadow"] = $232; +$183["threedlightshadow"] = $296; +$183["threedhighlight"] = $306; +$183["infotext"] = $309; +$183["graytext"] = $319; +$183["buttonface"] = $97; +$183["highlight"] = $323; +$183["highlighttext"] = $327; +$183["inactivecaption"] = $331; +$183["inactivecaptiontext"] = $335; +$183["activecaption"] = $338; +$183["captiontext"] = $342; +$183["#e1eeff"] = $346; +$183["#fafbfe"] = $353; +$183["#fec83c"] = $275; +$183["threedface"] = $359; +$183["windowtext"] = $363; +$184._isHtmlColor = $13; +$184._isRgbColor = $13; +$184._isThemedColor = $12; +$184._hex = $19; +$184._blue = $19; +$184._green = $19; +$184._red = $19; +$184._value = $185; +$184._hashCode = $186; +$184._dependentObjects = $187; +$184.classname = $181; +$184._manager = $182; +$184._valueEnabled = $12; +$184._properties = $46; +$184._disposed = $13; +$187["17"] = $188; +$187["18"] = $145; +$187["19"] = $195; +$187["20"] = $202; +$187["21"] = $208; +$187["22"] = $214; +$187["23"] = $220; +$187["24"] = $226; +$188._dependentObjects = $189; +$188._hashCode = $190; +$188._themedEdges = $191; +$188._defsX = $192; +$188._defsY = $193; +$188._valueTopWidth = $154; +$188._needsCompilationTop = $12; +$188._useEnhancedCrossBrowserMode = $19; +$188._valueRightWidth = $154; +$188._needsCompilationRight = $12; +$188._valueBottomWidth = $154; +$188._needsCompilationBottom = $12; +$188._valueLeftWidth = $154; +$188._needsCompilationLeft = $12; +$188._valueTopStyle = $194; +$188._valueRightStyle = $194; +$188._valueBottomStyle = $194; +$188._valueLeftStyle = $194; +$188.classname = $156; +$188._properties = $157; +$188._valueTopColor = $19; +$188._valueRightColor = $19; +$188._valueBottomColor = $19; +$188._valueLeftColor = $19; +$188._valueEnabled = $12; +$188._disposed = $13; +$191["topStyle"] = $12; +$191["rightStyle"] = $12; +$191["bottomStyle"] = $12; +$191["leftStyle"] = $12; +$192["borderLeft"] = $28; +$192["borderRight"] = $28; +$192["MozBorderLeftColors"] = $28; +$192["MozBorderRightColors"] = $28; +$193["borderTop"] = $28; +$193["borderBottom"] = $28; +$193["MozBorderTopColors"] = $28; +$193["MozBorderBottomColors"] = $28; +$195._dependentObjects = $196; +$195._hashCode = $197; +$195._themedEdges = $198; +$195._defsX = $199; +$195._defsY = $200; +$195._valueTopWidth = $154; +$195._needsCompilationTop = $12; +$195._useEnhancedCrossBrowserMode = $19; +$195._valueRightWidth = $154; +$195._needsCompilationRight = $12; +$195._valueBottomWidth = $154; +$195._needsCompilationBottom = $12; +$195._valueLeftWidth = $154; +$195._needsCompilationLeft = $12; +$195._valueTopStyle = $201; +$195._valueRightStyle = $201; +$195._valueBottomStyle = $201; +$195._valueLeftStyle = $201; +$195.classname = $156; +$195._properties = $157; +$195._valueTopColor = $19; +$195._valueRightColor = $19; +$195._valueBottomColor = $19; +$195._valueLeftColor = $19; +$195._valueEnabled = $12; +$195._disposed = $13; +$198["topStyle"] = $12; +$198["rightStyle"] = $12; +$198["bottomStyle"] = $12; +$198["leftStyle"] = $12; +$199["borderLeft"] = $28; +$199["borderRight"] = $28; +$199["MozBorderLeftColors"] = $28; +$199["MozBorderRightColors"] = $28; +$200["borderTop"] = $28; +$200["borderBottom"] = $28; +$200["MozBorderTopColors"] = $28; +$200["MozBorderBottomColors"] = $28; +$202._dependentObjects = $203; +$202._hashCode = $94; +$202._themedEdges = $204; +$202._defsX = $205; +$202._defsY = $206; +$202._valueTopWidth = $154; +$202._needsCompilationTop = $12; +$202._useEnhancedCrossBrowserMode = $19; +$202._valueRightWidth = $154; +$202._needsCompilationRight = $12; +$202._valueBottomWidth = $154; +$202._needsCompilationBottom = $12; +$202._valueLeftWidth = $154; +$202._needsCompilationLeft = $12; +$202._valueTopStyle = $207; +$202._valueRightStyle = $207; +$202._valueBottomStyle = $207; +$202._valueLeftStyle = $207; +$202.classname = $156; +$202._properties = $157; +$202._valueTopColor = $19; +$202._valueRightColor = $19; +$202._valueBottomColor = $19; +$202._valueLeftColor = $19; +$202._valueEnabled = $12; +$202._disposed = $13; +$204["topStyle"] = $12; +$204["rightStyle"] = $12; +$204["bottomStyle"] = $12; +$204["leftStyle"] = $12; +$205["borderLeft"] = $28; +$205["borderRight"] = $28; +$205["MozBorderLeftColors"] = $28; +$205["MozBorderRightColors"] = $28; +$206["borderTop"] = $28; +$206["borderBottom"] = $28; +$206["MozBorderTopColors"] = $28; +$206["MozBorderBottomColors"] = $28; +$208._dependentObjects = $209; +$208._hashCode = $210; +$208._themedEdges = $211; +$208._defsX = $212; +$208._defsY = $213; +$208._valueTopWidth = $14; +$208._needsCompilationTop = $12; +$208._useEnhancedCrossBrowserMode = $19; +$208._valueRightWidth = $14; +$208._needsCompilationRight = $12; +$208._valueBottomWidth = $14; +$208._needsCompilationBottom = $12; +$208._valueLeftWidth = $14; +$208._needsCompilationLeft = $12; +$208._valueTopStyle = $194; +$208._valueRightStyle = $194; +$208._valueBottomStyle = $194; +$208._valueLeftStyle = $194; +$208.classname = $156; +$208._properties = $157; +$208._valueTopColor = $19; +$208._valueRightColor = $19; +$208._valueBottomColor = $19; +$208._valueLeftColor = $19; +$208._valueEnabled = $12; +$208._disposed = $13; +$211["topStyle"] = $12; +$211["rightStyle"] = $12; +$211["bottomStyle"] = $12; +$211["leftStyle"] = $12; +$212["borderLeft"] = $28; +$212["borderRight"] = $28; +$212["MozBorderLeftColors"] = $28; +$212["MozBorderRightColors"] = $28; +$213["borderTop"] = $28; +$213["borderBottom"] = $28; +$213["MozBorderTopColors"] = $28; +$213["MozBorderBottomColors"] = $28; +$214._dependentObjects = $215; +$214._hashCode = $216; +$214._themedEdges = $217; +$214._defsX = $218; +$214._defsY = $219; +$214._valueTopWidth = $14; +$214._needsCompilationTop = $12; +$214._useEnhancedCrossBrowserMode = $19; +$214._valueRightWidth = $14; +$214._needsCompilationRight = $12; +$214._valueBottomWidth = $14; +$214._needsCompilationBottom = $12; +$214._valueLeftWidth = $14; +$214._needsCompilationLeft = $12; +$214._valueTopStyle = $155; +$214._valueRightStyle = $155; +$214._valueBottomStyle = $155; +$214._valueLeftStyle = $155; +$214.classname = $156; +$214._properties = $157; +$214._valueTopColor = $19; +$214._valueRightColor = $19; +$214._valueBottomColor = $19; +$214._valueLeftColor = $19; +$214._valueEnabled = $12; +$214._disposed = $13; +$217["topStyle"] = $12; +$217["rightStyle"] = $12; +$217["bottomStyle"] = $12; +$217["leftStyle"] = $12; +$218["borderLeft"] = $28; +$218["borderRight"] = $28; +$218["MozBorderLeftColors"] = $28; +$218["MozBorderRightColors"] = $28; +$219["borderTop"] = $28; +$219["borderBottom"] = $28; +$219["MozBorderTopColors"] = $28; +$219["MozBorderBottomColors"] = $28; +$220._dependentObjects = $221; +$220._hashCode = $222; +$220._themedEdges = $223; +$220._defsX = $224; +$220._defsY = $225; +$220._valueTopWidth = $14; +$220._needsCompilationTop = $12; +$220._useEnhancedCrossBrowserMode = $19; +$220._valueRightWidth = $48; +$220._needsCompilationRight = $12; +$220._valueBottomWidth = $14; +$220._needsCompilationBottom = $12; +$220._valueLeftWidth = $48; +$220._needsCompilationLeft = $12; +$220._valueTopStyle = $194; +$220._valueRightStyle = $194; +$220._valueBottomStyle = $194; +$220._valueLeftStyle = $194; +$220.classname = $156; +$220._properties = $157; +$220._valueTopColor = $19; +$220._valueRightColor = $19; +$220._valueBottomColor = $19; +$220._valueLeftColor = $19; +$220._valueEnabled = $12; +$220._disposed = $13; +$223["topStyle"] = $12; +$223["rightStyle"] = $12; +$223["bottomStyle"] = $12; +$223["leftStyle"] = $12; +$224["borderLeft"] = $28; +$224["borderRight"] = $28; +$224["MozBorderLeftColors"] = $28; +$224["MozBorderRightColors"] = $28; +$225["borderTop"] = $28; +$225["borderBottom"] = $28; +$225["MozBorderTopColors"] = $28; +$225["MozBorderBottomColors"] = $28; +$226._dependentObjects = $227; +$226._hashCode = $228; +$226._themedEdges = $229; +$226._defsX = $230; +$226._defsY = $231; +$226._valueTopWidth = $48; +$226._needsCompilationTop = $12; +$226._useEnhancedCrossBrowserMode = $19; +$226._valueRightWidth = $14; +$226._needsCompilationRight = $12; +$226._valueBottomWidth = $48; +$226._needsCompilationBottom = $12; +$226._valueLeftWidth = $14; +$226._needsCompilationLeft = $12; +$226._valueTopStyle = $194; +$226._valueRightStyle = $194; +$226._valueBottomStyle = $194; +$226._valueLeftStyle = $194; +$226.classname = $156; +$226._properties = $157; +$226._valueTopColor = $19; +$226._valueRightColor = $19; +$226._valueBottomColor = $19; +$226._valueLeftColor = $19; +$226._valueEnabled = $12; +$226._disposed = $13; +$229["topStyle"] = $12; +$229["rightStyle"] = $12; +$229["bottomStyle"] = $12; +$229["leftStyle"] = $12; +$230["borderLeft"] = $28; +$230["borderRight"] = $28; +$230["MozBorderLeftColors"] = $28; +$230["MozBorderRightColors"] = $28; +$231["borderTop"] = $28; +$231["borderBottom"] = $28; +$231["MozBorderTopColors"] = $28; +$231["MozBorderBottomColors"] = $28; +$232._isHtmlColor = $13; +$232._isRgbColor = $13; +$232._isThemedColor = $12; +$232._hex = $19; +$232._blue = $19; +$232._green = $19; +$232._red = $19; +$232._value = $233; +$232._hashCode = $160; +$232._dependentObjects = $234; +$232.classname = $181; +$232._manager = $182; +$232._valueEnabled = $12; +$232._properties = $46; +$232._disposed = $13; +$234["17"] = $188; +$234["18"] = $145; +$234["19"] = $195; +$234["20"] = $202; +$234["21"] = $208; +$234["22"] = $214; +$234["23"] = $220; +$234["24"] = $226; +$234["25"] = $235; +$234["40"] = $242; +$234["53"] = $247; +$234["54"] = $253; +$234["55"] = $258; +$234["56"] = $264; +$234["58"] = $270; +$234["59"] = $282; +$234["60"] = $287; +$234["61"] = $291; +$235._dependentObjects = $236; +$235._hashCode = $237; +$235._themedEdges = $238; +$235._defsX = $239; +$235._defsY = $240; +$235._valueTopWidth = $14; +$235._needsCompilationTop = $12; +$235._useEnhancedCrossBrowserMode = $19; +$235._valueRightWidth = $14; +$235._needsCompilationRight = $12; +$235._valueBottomWidth = $14; +$235._needsCompilationBottom = $12; +$235._valueLeftWidth = $14; +$235._needsCompilationLeft = $12; +$235._valueTopStyle = $241; +$235._valueRightStyle = $241; +$235._valueBottomStyle = $241; +$235._valueLeftStyle = $241; +$235._valueTopColor = $232; +$235._valueRightColor = $232; +$235._valueBottomColor = $232; +$235._valueLeftColor = $232; +$235.classname = $156; +$235._properties = $157; +$235._valueEnabled = $12; +$235._disposed = $13; +$239["borderLeft"] = $28; +$239["borderRight"] = $28; +$239["MozBorderLeftColors"] = $28; +$239["MozBorderRightColors"] = $28; +$240["borderTop"] = $28; +$240["borderBottom"] = $28; +$240["MozBorderTopColors"] = $28; +$240["MozBorderBottomColors"] = $28; +$242._hashCode = $65; +$242._themedEdges = $243; +$242._defsX = $244; +$242._defsY = $245; +$242._valueTopWidth = $14; +$242._needsCompilationTop = $12; +$242._useEnhancedCrossBrowserMode = $19; +$242._valueRightWidth = $14; +$242._needsCompilationRight = $12; +$242._valueBottomWidth = $14; +$242._needsCompilationBottom = $12; +$242._valueLeftWidth = $14; +$242._needsCompilationLeft = $12; +$242._valueTopStyle = $241; +$242._valueRightStyle = $241; +$242._valueBottomStyle = $241; +$242._valueLeftStyle = $241; +$242._valueTopColor = $232; +$242._valueRightColor = $232; +$242._valueBottomColor = $232; +$242._valueLeftColor = $232; +$242.classname = $246; +$242._properties = $157; +$242._valueEnabled = $12; +$242._disposed = $13; +$244["borderLeft"] = $28; +$244["borderRight"] = $28; +$244["MozBorderLeftColors"] = $28; +$244["MozBorderRightColors"] = $28; +$245["borderTop"] = $28; +$245["borderBottom"] = $28; +$245["MozBorderTopColors"] = $28; +$245["MozBorderBottomColors"] = $28; +$247._dependentObjects = $248; +$247._hashCode = $249; +$247._themedEdges = $250; +$247._defsX = $251; +$247._defsY = $252; +$247._valueBottomWidth = $14; +$247._needsCompilationBottom = $12; +$247._useEnhancedCrossBrowserMode = $19; +$247._valueBottomStyle = $241; +$247._valueBottomColor = $232; +$247.classname = $156; +$247._needsCompilationTop = $12; +$247._needsCompilationRight = $12; +$247._needsCompilationLeft = $12; +$247._valueTopWidth = $48; +$247._properties = $157; +$247._valueRightWidth = $48; +$247._valueLeftWidth = $48; +$247._valueTopStyle = $6; +$247._valueRightStyle = $6; +$247._valueLeftStyle = $6; +$247._valueTopColor = $19; +$247._valueRightColor = $19; +$247._valueLeftColor = $19; +$247._valueEnabled = $12; +$247._disposed = $13; +$251["borderLeft"] = $28; +$251["borderRight"] = $28; +$251["MozBorderLeftColors"] = $28; +$251["MozBorderRightColors"] = $28; +$252["borderTop"] = $28; +$252["borderBottom"] = $28; +$252["MozBorderTopColors"] = $28; +$252["MozBorderBottomColors"] = $28; +$253._dependentObjects = $254; +$253._hashCode = $62; +$253._themedEdges = $255; +$253._defsX = $256; +$253._defsY = $257; +$253._valueTopWidth = $14; +$253._needsCompilationTop = $12; +$253._useEnhancedCrossBrowserMode = $19; +$253._valueTopStyle = $241; +$253._valueTopColor = $232; +$253.classname = $156; +$253._needsCompilationRight = $12; +$253._needsCompilationBottom = $12; +$253._needsCompilationLeft = $12; +$253._properties = $157; +$253._valueRightWidth = $48; +$253._valueBottomWidth = $48; +$253._valueLeftWidth = $48; +$253._valueRightStyle = $6; +$253._valueBottomStyle = $6; +$253._valueLeftStyle = $6; +$253._valueRightColor = $19; +$253._valueBottomColor = $19; +$253._valueLeftColor = $19; +$253._valueEnabled = $12; +$253._disposed = $13; +$256["borderLeft"] = $28; +$256["borderRight"] = $28; +$256["MozBorderLeftColors"] = $28; +$256["MozBorderRightColors"] = $28; +$257["borderTop"] = $28; +$257["borderBottom"] = $28; +$257["MozBorderTopColors"] = $28; +$257["MozBorderBottomColors"] = $28; +$258._dependentObjects = $259; +$258._hashCode = $260; +$258._themedEdges = $261; +$258._defsX = $262; +$258._defsY = $263; +$258._valueRightWidth = $14; +$258._needsCompilationRight = $12; +$258._useEnhancedCrossBrowserMode = $19; +$258._valueRightStyle = $241; +$258._valueRightColor = $232; +$258.classname = $156; +$258._needsCompilationTop = $12; +$258._needsCompilationBottom = $12; +$258._needsCompilationLeft = $12; +$258._valueTopWidth = $48; +$258._properties = $157; +$258._valueBottomWidth = $48; +$258._valueLeftWidth = $48; +$258._valueTopStyle = $6; +$258._valueBottomStyle = $6; +$258._valueLeftStyle = $6; +$258._valueTopColor = $19; +$258._valueBottomColor = $19; +$258._valueLeftColor = $19; +$258._valueEnabled = $12; +$258._disposed = $13; +$262["borderLeft"] = $28; +$262["borderRight"] = $28; +$262["MozBorderLeftColors"] = $28; +$262["MozBorderRightColors"] = $28; +$263["borderTop"] = $28; +$263["borderBottom"] = $28; +$263["MozBorderTopColors"] = $28; +$263["MozBorderBottomColors"] = $28; +$264._dependentObjects = $265; +$264._hashCode = $266; +$264._themedEdges = $267; +$264._defsX = $268; +$264._defsY = $269; +$264._valueLeftWidth = $14; +$264._needsCompilationLeft = $12; +$264._useEnhancedCrossBrowserMode = $19; +$264._valueLeftStyle = $241; +$264._valueLeftColor = $232; +$264.classname = $156; +$264._needsCompilationTop = $12; +$264._needsCompilationRight = $12; +$264._needsCompilationBottom = $12; +$264._valueTopWidth = $48; +$264._properties = $157; +$264._valueRightWidth = $48; +$264._valueBottomWidth = $48; +$264._valueTopStyle = $6; +$264._valueRightStyle = $6; +$264._valueBottomStyle = $6; +$264._valueTopColor = $19; +$264._valueRightColor = $19; +$264._valueBottomColor = $19; +$264._valueEnabled = $12; +$264._disposed = $13; +$268["borderLeft"] = $28; +$268["borderRight"] = $28; +$268["MozBorderLeftColors"] = $28; +$268["MozBorderRightColors"] = $28; +$269["borderTop"] = $28; +$269["borderBottom"] = $28; +$269["MozBorderTopColors"] = $28; +$269["MozBorderBottomColors"] = $28; +$270._hashCode = $271; +$270._themedEdges = $272; +$270._defsX = $273; +$270._defsY = $274; +$270._valueTopWidth = $14; +$270._needsCompilationTop = $12; +$270._useEnhancedCrossBrowserMode = $19; +$270._valueRightWidth = $14; +$270._needsCompilationRight = $12; +$270._valueBottomWidth = $17; +$270._needsCompilationBottom = $12; +$270._valueLeftWidth = $14; +$270._needsCompilationLeft = $12; +$270._valueTopStyle = $241; +$270._valueRightStyle = $241; +$270._valueBottomStyle = $241; +$270._valueLeftStyle = $241; +$270._valueTopColor = $232; +$270._valueRightColor = $232; +$270._valueBottomColor = $275; +$270._valueLeftColor = $232; +$270.classname = $246; +$270._properties = $157; +$270._valueEnabled = $12; +$270._disposed = $13; +$273["borderLeft"] = $28; +$273["borderRight"] = $28; +$273["MozBorderLeftColors"] = $28; +$273["MozBorderRightColors"] = $28; +$274["borderTop"] = $28; +$274["borderBottom"] = $28; +$274["MozBorderTopColors"] = $28; +$274["MozBorderBottomColors"] = $28; +$275._isHtmlColor = $13; +$275._isRgbColor = $12; +$275._isThemedColor = $13; +$275._hex = $276; +$275._red = $277; +$275._green = $278; +$275._blue = $279; +$275._value = $276; +$275._hashCode = $280; +$275._dependentObjects = $281; +$275.classname = $181; +$275._manager = $182; +$275._valueEnabled = $12; +$275._properties = $46; +$275._disposed = $13; +$281["58"] = $270; +$281["59"] = $282; +$281["60"] = $287; +$281["61"] = $291; +$282._hashCode = $283; +$282._themedEdges = $284; +$282._defsX = $285; +$282._defsY = $286; +$282._valueTopWidth = $17; +$282._needsCompilationTop = $12; +$282._useEnhancedCrossBrowserMode = $19; +$282._valueRightWidth = $14; +$282._needsCompilationRight = $12; +$282._valueBottomWidth = $14; +$282._needsCompilationBottom = $12; +$282._valueLeftWidth = $14; +$282._needsCompilationLeft = $12; +$282._valueTopStyle = $241; +$282._valueRightStyle = $241; +$282._valueBottomStyle = $241; +$282._valueLeftStyle = $241; +$282._valueTopColor = $275; +$282._valueRightColor = $232; +$282._valueBottomColor = $232; +$282._valueLeftColor = $232; +$282.classname = $246; +$282._properties = $157; +$282._valueEnabled = $12; +$282._disposed = $13; +$285["borderLeft"] = $28; +$285["borderRight"] = $28; +$285["MozBorderLeftColors"] = $28; +$285["MozBorderRightColors"] = $28; +$286["borderTop"] = $28; +$286["borderBottom"] = $28; +$286["MozBorderTopColors"] = $28; +$286["MozBorderBottomColors"] = $28; +$287._hashCode = $279; +$287._themedEdges = $288; +$287._defsX = $289; +$287._defsY = $290; +$287._valueTopWidth = $14; +$287._needsCompilationTop = $12; +$287._useEnhancedCrossBrowserMode = $19; +$287._valueRightWidth = $17; +$287._needsCompilationRight = $12; +$287._valueBottomWidth = $14; +$287._needsCompilationBottom = $12; +$287._valueLeftWidth = $14; +$287._needsCompilationLeft = $12; +$287._valueTopStyle = $241; +$287._valueRightStyle = $241; +$287._valueBottomStyle = $241; +$287._valueLeftStyle = $241; +$287._valueTopColor = $232; +$287._valueRightColor = $275; +$287._valueBottomColor = $232; +$287._valueLeftColor = $232; +$287.classname = $246; +$287._properties = $157; +$287._valueEnabled = $12; +$287._disposed = $13; +$289["borderLeft"] = $28; +$289["borderRight"] = $28; +$289["MozBorderLeftColors"] = $28; +$289["MozBorderRightColors"] = $28; +$290["borderTop"] = $28; +$290["borderBottom"] = $28; +$290["MozBorderTopColors"] = $28; +$290["MozBorderBottomColors"] = $28; +$291._hashCode = $292; +$291._themedEdges = $293; +$291._defsX = $294; +$291._defsY = $295; +$291._valueTopWidth = $14; +$291._needsCompilationTop = $12; +$291._useEnhancedCrossBrowserMode = $19; +$291._valueRightWidth = $14; +$291._needsCompilationRight = $12; +$291._valueBottomWidth = $14; +$291._needsCompilationBottom = $12; +$291._valueLeftWidth = $17; +$291._needsCompilationLeft = $12; +$291._valueTopStyle = $241; +$291._valueRightStyle = $241; +$291._valueBottomStyle = $241; +$291._valueLeftStyle = $241; +$291._valueTopColor = $232; +$291._valueRightColor = $232; +$291._valueBottomColor = $232; +$291._valueLeftColor = $275; +$291.classname = $246; +$291._properties = $157; +$291._valueEnabled = $12; +$291._disposed = $13; +$294["borderLeft"] = $28; +$294["borderRight"] = $28; +$294["MozBorderLeftColors"] = $28; +$294["MozBorderRightColors"] = $28; +$295["borderTop"] = $28; +$295["borderBottom"] = $28; +$295["MozBorderTopColors"] = $28; +$295["MozBorderBottomColors"] = $28; +$296._isHtmlColor = $13; +$296._isRgbColor = $13; +$296._isThemedColor = $12; +$296._hex = $19; +$296._blue = $19; +$296._green = $19; +$296._red = $19; +$296._value = $297; +$296._hashCode = $298; +$296._dependentObjects = $299; +$296.classname = $181; +$296._manager = $182; +$296._valueEnabled = $12; +$296._properties = $46; +$296._disposed = $13; +$299["17"] = $188; +$299["18"] = $145; +$299["19"] = $195; +$299["20"] = $202; +$299["21"] = $208; +$299["22"] = $214; +$299["23"] = $220; +$299["24"] = $226; +$299["26"] = $300; +$300._dependentObjects = $301; +$300._hashCode = $302; +$300._themedEdges = $303; +$300._defsX = $304; +$300._defsY = $305; +$300._valueTopWidth = $14; +$300._needsCompilationTop = $12; +$300._useEnhancedCrossBrowserMode = $19; +$300._valueRightWidth = $14; +$300._needsCompilationRight = $12; +$300._valueBottomWidth = $14; +$300._needsCompilationBottom = $12; +$300._valueLeftWidth = $14; +$300._needsCompilationLeft = $12; +$300._valueTopStyle = $241; +$300._valueRightStyle = $241; +$300._valueBottomStyle = $241; +$300._valueLeftStyle = $241; +$300._valueTopColor = $296; +$300._valueRightColor = $296; +$300._valueBottomColor = $296; +$300._valueLeftColor = $296; +$300.classname = $156; +$300._properties = $157; +$300._valueEnabled = $12; +$300._disposed = $13; +$304["borderLeft"] = $28; +$304["borderRight"] = $28; +$304["MozBorderLeftColors"] = $28; +$304["MozBorderRightColors"] = $28; +$305["borderTop"] = $28; +$305["borderBottom"] = $28; +$305["MozBorderTopColors"] = $28; +$305["MozBorderBottomColors"] = $28; +$306._isHtmlColor = $13; +$306._isRgbColor = $13; +$306._isThemedColor = $12; +$306._hex = $19; +$306._blue = $19; +$306._green = $19; +$306._red = $19; +$306._value = $307; +$306._hashCode = $159; +$306._dependentObjects = $308; +$306.classname = $181; +$306._manager = $182; +$306._valueEnabled = $12; +$306._properties = $46; +$306._disposed = $13; +$308["17"] = $188; +$308["18"] = $145; +$308["19"] = $195; +$308["20"] = $202; +$308["21"] = $208; +$308["22"] = $214; +$308["23"] = $220; +$308["24"] = $226; +$309._isHtmlColor = $13; +$309._isRgbColor = $13; +$309._isThemedColor = $12; +$309._hex = $19; +$309._blue = $19; +$309._green = $19; +$309._red = $19; +$309._value = $310; +$309._hashCode = $311; +$309._dependentObjects = $312; +$309.classname = $181; +$309._manager = $182; +$309._valueEnabled = $12; +$309._properties = $46; +$309._disposed = $13; +$312["27"] = $313; +$313._dependentObjects = $314; +$313._hashCode = $315; +$313._themedEdges = $316; +$313._defsX = $317; +$313._defsY = $318; +$313._valueTopWidth = $14; +$313._needsCompilationTop = $12; +$313._useEnhancedCrossBrowserMode = $19; +$313._valueRightWidth = $14; +$313._needsCompilationRight = $12; +$313._valueBottomWidth = $14; +$313._needsCompilationBottom = $12; +$313._valueLeftWidth = $14; +$313._needsCompilationLeft = $12; +$313._valueTopStyle = $241; +$313._valueRightStyle = $241; +$313._valueBottomStyle = $241; +$313._valueLeftStyle = $241; +$313._valueTopColor = $309; +$313._valueRightColor = $309; +$313._valueBottomColor = $309; +$313._valueLeftColor = $309; +$313.classname = $156; +$313._properties = $157; +$313._valueEnabled = $12; +$313._disposed = $13; +$317["borderLeft"] = $28; +$317["borderRight"] = $28; +$317["MozBorderLeftColors"] = $28; +$317["MozBorderRightColors"] = $28; +$318["borderTop"] = $28; +$318["borderBottom"] = $28; +$318["MozBorderTopColors"] = $28; +$318["MozBorderBottomColors"] = $28; +$319._isHtmlColor = $13; +$319._isRgbColor = $13; +$319._isThemedColor = $12; +$319._hex = $19; +$319._blue = $19; +$319._green = $19; +$319._red = $19; +$319._value = $320; +$319._hashCode = $321; +$319._dependentObjects = $322; +$319.classname = $181; +$319._manager = $182; +$319._valueEnabled = $12; +$319._properties = $46; +$319._disposed = $13; +$323._isHtmlColor = $13; +$323._isRgbColor = $13; +$323._isThemedColor = $12; +$323._hex = $19; +$323._blue = $19; +$323._green = $19; +$323._red = $19; +$323._value = $324; +$323._hashCode = $325; +$323._dependentObjects = $326; +$323.classname = $181; +$323._manager = $182; +$323._valueEnabled = $12; +$323._properties = $46; +$323._disposed = $13; +$327._isHtmlColor = $13; +$327._isRgbColor = $13; +$327._isThemedColor = $12; +$327._hex = $19; +$327._blue = $19; +$327._green = $19; +$327._red = $19; +$327._value = $328; +$327._hashCode = $329; +$327._dependentObjects = $330; +$327.classname = $181; +$327._manager = $182; +$327._valueEnabled = $12; +$327._properties = $46; +$327._disposed = $13; +$331._isHtmlColor = $13; +$331._isRgbColor = $13; +$331._isThemedColor = $12; +$331._hex = $19; +$331._blue = $19; +$331._green = $19; +$331._red = $19; +$331._value = $332; +$331._hashCode = $333; +$331._dependentObjects = $334; +$331.classname = $181; +$331._manager = $182; +$331._valueEnabled = $12; +$331._properties = $46; +$331._disposed = $13; +$335._isHtmlColor = $13; +$335._isRgbColor = $13; +$335._isThemedColor = $12; +$335._hex = $19; +$335._blue = $19; +$335._green = $19; +$335._red = $19; +$335._value = $336; +$335._hashCode = $20; +$335._dependentObjects = $337; +$335.classname = $181; +$335._manager = $182; +$335._valueEnabled = $12; +$335._properties = $46; +$335._disposed = $13; +$338._isHtmlColor = $13; +$338._isRgbColor = $13; +$338._isThemedColor = $12; +$338._hex = $19; +$338._blue = $19; +$338._green = $19; +$338._red = $19; +$338._value = $339; +$338._hashCode = $340; +$338._dependentObjects = $341; +$338.classname = $181; +$338._manager = $182; +$338._valueEnabled = $12; +$338._properties = $46; +$338._disposed = $13; +$342._isHtmlColor = $13; +$342._isRgbColor = $13; +$342._isThemedColor = $12; +$342._hex = $19; +$342._blue = $19; +$342._green = $19; +$342._red = $19; +$342._value = $343; +$342._hashCode = $344; +$342._dependentObjects = $345; +$342.classname = $181; +$342._manager = $182; +$342._valueEnabled = $12; +$342._properties = $46; +$342._disposed = $13; +$346._isHtmlColor = $13; +$346._isRgbColor = $12; +$346._isThemedColor = $13; +$346._hex = $347; +$346._red = $348; +$346._green = $349; +$346._blue = $350; +$346._value = $347; +$346._hashCode = $351; +$346._dependentObjects = $352; +$346.classname = $181; +$346._manager = $182; +$346._valueEnabled = $12; +$346._properties = $46; +$346._disposed = $13; +$353._isHtmlColor = $13; +$353._isRgbColor = $12; +$353._isThemedColor = $13; +$353._hex = $354; +$353._red = $355; +$353._green = $356; +$353._blue = $277; +$353._value = $354; +$353._hashCode = $357; +$353._dependentObjects = $358; +$353.classname = $181; +$353._manager = $182; +$353._valueEnabled = $12; +$353._properties = $46; +$353._disposed = $13; +$359._isHtmlColor = $13; +$359._isRgbColor = $13; +$359._isThemedColor = $12; +$359._hex = $19; +$359._blue = $19; +$359._green = $19; +$359._red = $19; +$359._value = $360; +$359._hashCode = $361; +$359._dependentObjects = $362; +$359.classname = $181; +$359._manager = $182; +$359._valueEnabled = $12; +$359._properties = $46; +$359._disposed = $13; +$362["64"] = $96; +$363._isHtmlColor = $13; +$363._isRgbColor = $13; +$363._isThemedColor = $12; +$363._hex = $19; +$363._blue = $19; +$363._green = $19; +$363._red = $19; +$363._value = $364; +$363._hashCode = $365; +$363._dependentObjects = $366; +$363.classname = $181; +$363._manager = $182; +$363._valueEnabled = $12; +$363._properties = $46; +$363._disposed = $13; +$366["64"] = $96; +$367["systemDefault"] = $368; +$367["windowsRoyale"] = $388; +$367["windowsClassic"] = $442; +$367["windowsLunaBlue"] = $478; +$367["windowsLunaGreen"] = $529; +$367["windowsLunaSilver"] = $572; +$368._hashCode = $154; +$368._valueId = $369; +$368._valueTitle = $370; +$368._colors = $371; +$368._compiledColors = $372; +$368._needsCompilation = $13; +$368.classname = $386; +$368._properties = $387; +$368._manager = $182; +$368._valueEnabled = $12; +$368._disposed = $13; +$372["activeborder"] = $373; +$372["activecaption"] = $339; +$372["appworkspace"] = $374; +$372["background"] = $375; +$372["buttonface"] = $9; +$372["buttonhighlight"] = $376; +$372["buttonshadow"] = $377; +$372["buttontext"] = $378; +$372["captiontext"] = $343; +$372["graytext"] = $320; +$372["highlight"] = $324; +$372["highlighttext"] = $328; +$372["inactiveborder"] = $379; +$372["inactivecaption"] = $332; +$372["inactivecaptiontext"] = $336; +$372["infobackground"] = $380; +$372["infotext"] = $310; +$372["menu"] = $381; +$372["menutext"] = $382; +$372["scrollbar"] = $383; +$372["threeddarkshadow"] = $185; +$372["threedface"] = $360; +$372["threedhighlight"] = $307; +$372["threedlightshadow"] = $297; +$372["threedshadow"] = $233; +$372["window"] = $384; +$372["windowframe"] = $385; +$372["windowtext"] = $364; +$388._hashCode = $17; +$388._valueId = $389; +$388._valueTitle = $390; +$388._colors = $391; +$388._compiledColors = $441; +$388.classname = $386; +$388._properties = $387; +$388._manager = $182; +$388._needsCompilation = $12; +$388._valueEnabled = $12; +$388._disposed = $13; +$391["activeborder"] = $392; +$391["activecaption"] = $395; +$391["appworkspace"] = $399; +$391["background"] = $401; +$391["buttonface"] = $403; +$391["buttonhighlight"] = $407; +$391["buttonshadow"] = $408; +$391["buttontext"] = $412; +$391["captiontext"] = $413; +$391["graytext"] = $414; +$391["highlight"] = $415; +$391["highlighttext"] = $416; +$391["inactiveborder"] = $417; +$391["inactivecaption"] = $418; +$391["inactivecaptiontext"] = $422; +$391["infobackground"] = $423; +$391["infotext"] = $424; +$391["menu"] = $425; +$391["menutext"] = $426; +$391["scrollbar"] = $427; +$391["threeddarkshadow"] = $428; +$391["threedface"] = $432; +$391["threedhighlight"] = $433; +$391["threedlightshadow"] = $434; +$391["threedshadow"] = $437; +$391["window"] = $438; +$391["windowframe"] = $439; +$391["windowtext"] = $440; +$392[0] = $393; +$392[1] = $394; +$392[2] = $278; +$395[0] = $396; +$395[1] = $397; +$395[2] = $398; +$399[0] = $400; +$399[1] = $400; +$399[2] = $400; +$401[0] = $48; +$401[1] = $48; +$401[2] = $402; +$403[0] = $404; +$403[1] = $405; +$403[2] = $406; +$407[0] = $350; +$407[1] = $350; +$407[2] = $350; +$408[0] = $409; +$408[1] = $410; +$408[2] = $411; +$412[0] = $48; +$412[1] = $48; +$412[2] = $48; +$413[0] = $350; +$413[1] = $350; +$413[2] = $350; +$414[0] = $409; +$414[1] = $410; +$414[2] = $411; +$415[0] = $396; +$415[1] = $397; +$415[2] = $398; +$416[0] = $350; +$416[1] = $350; +$416[2] = $350; +$417[0] = $393; +$417[1] = $394; +$417[2] = $278; +$418[0] = $419; +$418[1] = $420; +$418[2] = $421; +$422[0] = $350; +$422[1] = $350; +$422[2] = $350; +$423[0] = $350; +$423[1] = $350; +$423[2] = $348; +$424[0] = $48; +$424[1] = $48; +$424[2] = $48; +$425[0] = $350; +$425[1] = $350; +$425[2] = $350; +$426[0] = $48; +$426[1] = $48; +$426[2] = $48; +$427[0] = $393; +$427[1] = $394; +$427[2] = $278; +$428[0] = $429; +$428[1] = $430; +$428[2] = $431; +$432[0] = $404; +$432[1] = $405; +$432[2] = $406; +$433[0] = $350; +$433[1] = $350; +$433[2] = $350; +$434[0] = $144; +$434[1] = $435; +$434[2] = $436; +$437[0] = $409; +$437[1] = $410; +$437[2] = $411; +$438[0] = $350; +$438[1] = $350; +$438[2] = $350; +$439[0] = $48; +$439[1] = $48; +$439[2] = $48; +$440[0] = $48; +$440[1] = $48; +$440[2] = $48; +$442._hashCode = $15; +$442._valueId = $443; +$442._valueTitle = $444; +$442._colors = $445; +$442._compiledColors = $477; +$442.classname = $386; +$442._properties = $387; +$442._manager = $182; +$442._needsCompilation = $12; +$442._valueEnabled = $12; +$442._disposed = $13; +$445["activeborder"] = $446; +$445["activecaption"] = $447; +$445["appworkspace"] = $449; +$445["background"] = $450; +$445["buttonface"] = $453; +$445["buttonhighlight"] = $454; +$445["buttonshadow"] = $455; +$445["buttontext"] = $456; +$445["captiontext"] = $457; +$445["graytext"] = $458; +$445["highlight"] = $459; +$445["highlighttext"] = $460; +$445["inactiveborder"] = $461; +$445["inactivecaption"] = $462; +$445["inactivecaptiontext"] = $463; +$445["infobackground"] = $464; +$445["infotext"] = $465; +$445["menu"] = $466; +$445["menutext"] = $467; +$445["scrollbar"] = $468; +$445["threeddarkshadow"] = $469; +$445["threedface"] = $470; +$445["threedhighlight"] = $471; +$445["threedlightshadow"] = $472; +$445["threedshadow"] = $473; +$445["window"] = $474; +$445["windowframe"] = $475; +$445["windowtext"] = $476; +$446[0] = $393; +$446[1] = $394; +$446[2] = $278; +$447[0] = $160; +$447[1] = $325; +$447[2] = $448; +$449[0] = $400; +$449[1] = $400; +$449[2] = $400; +$450[0] = $271; +$450[1] = $451; +$450[2] = $452; +$453[0] = $393; +$453[1] = $394; +$453[2] = $278; +$454[0] = $350; +$454[1] = $350; +$454[2] = $350; +$455[0] = $400; +$455[1] = $400; +$455[2] = $400; +$456[0] = $48; +$456[1] = $48; +$456[2] = $48; +$457[0] = $350; +$457[1] = $350; +$457[2] = $350; +$458[0] = $400; +$458[1] = $400; +$458[2] = $400; +$459[0] = $160; +$459[1] = $325; +$459[2] = $448; +$460[0] = $350; +$460[1] = $350; +$460[2] = $350; +$461[0] = $393; +$461[1] = $394; +$461[2] = $278; +$462[0] = $400; +$462[1] = $400; +$462[2] = $400; +$463[0] = $393; +$463[1] = $394; +$463[2] = $278; +$464[0] = $350; +$464[1] = $350; +$464[2] = $348; +$465[0] = $48; +$465[1] = $48; +$465[2] = $48; +$466[0] = $393; +$466[1] = $394; +$466[2] = $278; +$467[0] = $48; +$467[1] = $48; +$467[2] = $48; +$468[0] = $393; +$468[1] = $394; +$468[2] = $278; +$469[0] = $402; +$469[1] = $402; +$469[2] = $402; +$470[0] = $393; +$470[1] = $394; +$470[2] = $278; +$471[0] = $350; +$471[1] = $350; +$471[2] = $350; +$472[0] = $393; +$472[1] = $394; +$472[2] = $278; +$473[0] = $400; +$473[1] = $400; +$473[2] = $400; +$474[0] = $350; +$474[1] = $350; +$474[2] = $350; +$475[0] = $48; +$475[1] = $48; +$475[2] = $48; +$476[0] = $48; +$476[1] = $48; +$476[2] = $48; +$478._hashCode = $479; +$478._valueId = $480; +$478._valueTitle = $481; +$478._colors = $482; +$478._compiledColors = $528; +$478.classname = $386; +$478._properties = $387; +$478._manager = $182; +$478._needsCompilation = $12; +$478._valueEnabled = $12; +$478._disposed = $13; +$482["activeborder"] = $483; +$482["activecaption"] = $484; +$482["appworkspace"] = $487; +$482["background"] = $488; +$482["buttonface"] = $490; +$482["buttonhighlight"] = $493; +$482["buttonshadow"] = $494; +$482["buttontext"] = $497; +$482["captiontext"] = $498; +$482["graytext"] = $499; +$482["highlight"] = $500; +$482["highlighttext"] = $503; +$482["inactiveborder"] = $504; +$482["inactivecaption"] = $505; +$482["inactivecaptiontext"] = $508; +$482["infobackground"] = $510; +$482["infotext"] = $511; +$482["menu"] = $512; +$482["menutext"] = $513; +$482["scrollbar"] = $514; +$482["threeddarkshadow"] = $515; +$482["threedface"] = $518; +$482["threedhighlight"] = $519; +$482["threedlightshadow"] = $520; +$482["threedshadow"] = $524; +$482["window"] = $525; +$482["windowframe"] = $526; +$482["windowtext"] = $527; +$483[0] = $393; +$483[1] = $394; +$483[2] = $278; +$484[0] = $48; +$484[1] = $485; +$484[2] = $486; +$487[0] = $400; +$487[1] = $400; +$487[2] = $400; +$488[0] = $48; +$488[1] = $25; +$488[2] = $489; +$490[0] = $491; +$490[1] = $405; +$490[2] = $492; +$493[0] = $350; +$493[1] = $350; +$493[2] = $350; +$494[0] = $495; +$494[1] = $398; +$494[2] = $496; +$497[0] = $48; +$497[1] = $48; +$497[2] = $48; +$498[0] = $350; +$498[1] = $350; +$498[2] = $350; +$499[0] = $495; +$499[1] = $398; +$499[2] = $496; +$500[0] = $501; +$500[1] = $448; +$500[2] = $502; +$503[0] = $350; +$503[1] = $350; +$503[2] = $350; +$504[0] = $393; +$504[1] = $394; +$504[2] = $278; +$505[0] = $506; +$505[1] = $507; +$505[2] = $435; +$508[0] = $492; +$508[1] = $436; +$508[2] = $509; +$510[0] = $350; +$510[1] = $350; +$510[2] = $348; +$511[0] = $48; +$511[1] = $48; +$511[2] = $48; +$512[0] = $350; +$512[1] = $350; +$512[2] = $350; +$513[0] = $48; +$513[1] = $48; +$513[2] = $48; +$514[0] = $393; +$514[1] = $394; +$514[2] = $278; +$515[0] = $516; +$515[1] = $419; +$515[2] = $517; +$518[0] = $491; +$518[1] = $405; +$518[2] = $492; +$519[0] = $350; +$519[1] = $350; +$519[2] = $350; +$520[0] = $521; +$520[1] = $522; +$520[2] = $523; +$524[0] = $495; +$524[1] = $398; +$524[2] = $496; +$525[0] = $350; +$525[1] = $350; +$525[2] = $350; +$526[0] = $48; +$526[1] = $48; +$526[2] = $48; +$527[0] = $48; +$527[1] = $48; +$527[2] = $48; +$529._hashCode = $530; +$529._valueId = $531; +$529._valueTitle = $532; +$529._colors = $533; +$529._compiledColors = $571; +$529.classname = $386; +$529._properties = $387; +$529._manager = $182; +$529._needsCompilation = $12; +$529._valueEnabled = $12; +$529._disposed = $13; +$533["activeborder"] = $534; +$533["activecaption"] = $535; +$533["appworkspace"] = $538; +$533["background"] = $539; +$533["buttonface"] = $542; +$533["buttonhighlight"] = $543; +$533["buttonshadow"] = $544; +$533["buttontext"] = $545; +$533["captiontext"] = $546; +$533["graytext"] = $547; +$533["highlight"] = $548; +$533["highlighttext"] = $552; +$533["inactiveborder"] = $553; +$533["inactivecaption"] = $554; +$533["inactivecaptiontext"] = $557; +$533["infobackground"] = $558; +$533["infotext"] = $559; +$533["menu"] = $560; +$533["menutext"] = $561; +$533["scrollbar"] = $562; +$533["threeddarkshadow"] = $563; +$533["threedface"] = $564; +$533["threedhighlight"] = $565; +$533["threedlightshadow"] = $566; +$533["threedshadow"] = $567; +$533["window"] = $568; +$533["windowframe"] = $569; +$533["windowtext"] = $570; +$534[0] = $393; +$534[1] = $394; +$534[2] = $278; +$535[0] = $536; +$535[1] = $420; +$535[2] = $537; +$538[0] = $400; +$538[1] = $400; +$538[2] = $400; +$539[0] = $540; +$539[1] = $495; +$539[2] = $541; +$542[0] = $491; +$542[1] = $405; +$542[2] = $492; +$543[0] = $350; +$543[1] = $350; +$543[2] = $350; +$544[0] = $495; +$544[1] = $398; +$544[2] = $496; +$545[0] = $48; +$545[1] = $48; +$545[2] = $48; +$546[0] = $350; +$546[1] = $350; +$546[2] = $350; +$547[0] = $495; +$547[1] = $398; +$547[2] = $496; +$548[0] = $549; +$548[1] = $550; +$548[2] = $551; +$552[0] = $350; +$552[1] = $350; +$552[2] = $350; +$553[0] = $393; +$553[1] = $394; +$553[2] = $278; +$554[0] = $393; +$554[1] = $555; +$554[2] = $556; +$557[0] = $350; +$557[1] = $350; +$557[2] = $350; +$558[0] = $350; +$558[1] = $350; +$558[2] = $348; +$559[0] = $48; +$559[1] = $48; +$559[2] = $48; +$560[0] = $350; +$560[1] = $350; +$560[2] = $350; +$561[0] = $48; +$561[1] = $48; +$561[2] = $48; +$562[0] = $393; +$562[1] = $394; +$562[2] = $278; +$563[0] = $516; +$563[1] = $419; +$563[2] = $517; +$564[0] = $491; +$564[1] = $405; +$564[2] = $492; +$565[0] = $350; +$565[1] = $350; +$565[2] = $350; +$566[0] = $521; +$566[1] = $522; +$566[2] = $523; +$567[0] = $495; +$567[1] = $398; +$567[2] = $496; +$568[0] = $350; +$568[1] = $350; +$568[2] = $350; +$569[0] = $48; +$569[1] = $48; +$569[2] = $48; +$570[0] = $48; +$570[1] = $48; +$570[2] = $48; +$572._hashCode = $573; +$572._valueId = $574; +$572._valueTitle = $575; +$572._colors = $576; +$572._compiledColors = $615; +$572.classname = $386; +$572._properties = $387; +$572._manager = $182; +$572._needsCompilation = $12; +$572._valueEnabled = $12; +$572._disposed = $13; +$576["activeborder"] = $577; +$576["activecaption"] = $578; +$576["appworkspace"] = $580; +$576["background"] = $581; +$576["buttonface"] = $584; +$576["buttonhighlight"] = $586; +$576["buttonshadow"] = $587; +$576["buttontext"] = $588; +$576["captiontext"] = $589; +$576["graytext"] = $592; +$576["highlight"] = $593; +$576["highlighttext"] = $597; +$576["inactiveborder"] = $598; +$576["inactivecaption"] = $599; +$576["inactivecaptiontext"] = $600; +$576["infobackground"] = $602; +$576["infotext"] = $603; +$576["menu"] = $604; +$576["menutext"] = $605; +$576["scrollbar"] = $606; +$576["threeddarkshadow"] = $607; +$576["threedface"] = $608; +$576["threedhighlight"] = $609; +$576["threedlightshadow"] = $610; +$576["threedshadow"] = $611; +$576["window"] = $612; +$576["windowframe"] = $613; +$576["windowtext"] = $614; +$577[0] = $393; +$577[1] = $394; +$577[2] = $278; +$578[0] = $579; +$578[1] = $579; +$578[2] = $579; +$580[0] = $400; +$580[1] = $400; +$580[2] = $400; +$581[0] = $124; +$581[1] = $582; +$581[2] = $583; +$584[0] = $585; +$584[1] = $435; +$584[2] = $486; +$586[0] = $350; +$586[1] = $350; +$586[2] = $350; +$587[0] = $540; +$587[1] = $540; +$587[2] = $420; +$588[0] = $48; +$588[1] = $48; +$588[2] = $48; +$589[0] = $590; +$589[1] = $591; +$589[2] = $591; +$592[0] = $495; +$592[1] = $398; +$592[2] = $496; +$593[0] = $594; +$593[1] = $595; +$593[2] = $596; +$597[0] = $48; +$597[1] = $48; +$597[2] = $48; +$598[0] = $393; +$598[1] = $394; +$598[2] = $278; +$599[0] = $350; +$599[1] = $350; +$599[2] = $350; +$600[0] = $601; +$600[1] = $420; +$600[2] = $420; +$602[0] = $350; +$602[1] = $350; +$602[2] = $348; +$603[0] = $48; +$603[1] = $48; +$603[2] = $48; +$604[0] = $350; +$604[1] = $350; +$604[2] = $350; +$605[0] = $48; +$605[1] = $48; +$605[2] = $48; +$606[0] = $393; +$606[1] = $394; +$606[2] = $278; +$607[0] = $516; +$607[1] = $419; +$607[2] = $517; +$608[0] = $585; +$608[1] = $435; +$608[2] = $486; +$609[0] = $350; +$609[1] = $350; +$609[2] = $350; +$610[0] = $521; +$610[1] = $522; +$610[2] = $523; +$611[0] = $540; +$611[1] = $540; +$611[2] = $420; +$612[0] = $350; +$612[1] = $350; +$612[2] = $350; +$613[0] = $48; +$613[1] = $48; +$613[2] = $48; +$614[0] = $48; +$614[1] = $48; +$614[2] = $48; +$616["threeddarkshadow"] = $184; +$616["threedshadow"] = $232; +$616["threedlightshadow"] = $296; +$616["threedhighlight"] = $306; +$616["infotext"] = $309; +$616["graytext"] = $319; +$616["buttonface"] = $97; +$616["highlight"] = $323; +$616["highlighttext"] = $327; +$616["inactivecaption"] = $331; +$616["inactivecaptiontext"] = $335; +$616["activecaption"] = $338; +$616["captiontext"] = $342; +$616["threedface"] = $359; +$616["windowtext"] = $363; +$619[0] = $24; +$619[1] = $54; +}); \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CookieStorage_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CookieStorage_1.html new file mode 100644 index 00000000000..cb6df855908 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CookieStorage_1.html @@ -0,0 +1,45 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for qx.io.local.CookieApi.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CookieStorage_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CookieStorage_2.html new file mode 100644 index 00000000000..e22c5b698b0 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CookieStorage_2.html @@ -0,0 +1,67 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for qx.io.local.CookieTransport API.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Cookie_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Cookie_1.html new file mode 100644 index 00000000000..1b3f83f51b5 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Cookie_1.html @@ -0,0 +1,45 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for qx.io.local.CookieApi.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CrossBrowser_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CrossBrowser_1.html new file mode 100644 index 00000000000..aa0ce0f91d1 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CrossBrowser_1.html @@ -0,0 +1,166 @@ + + + + qooxdoo » Demo + + + + + + + +
+
Outer + Margin +
Box + Inset (Border + Scrollbar) +
Area + Padding +
Inner +
+
+
+
+
+ +
+Mit seiner Aufnahme in die Elite war Knechts Leben auf eine andre Ebene verpflanzt, es war der erste und entscheidende Schritt in seiner Entwicklung geschehen. Es geht durchaus nicht allen Elitesch�lern so, da� die amtliche Aufnahme in die Elite mit dem innern Erlebnis der Berufung zusammenf�llt. Das ist Gnade, oder wenn man es banal ausdr�cken will: es ist ein Gl�cksfall. Wem er begegnet, dessen Leben hat ein Plus, so wie der ein Plus besitzt, dem ein Gl�cksfall besonders gl�ckliche Gaben an Leib und See le mitgegeben hat. Die meisten Elitesch�ler, ja beinahe alle, empfinden zwar ihre Wahl als ein gro�es Gl�ck, als eine Auszeichnung, auf die sie stolz sind, und sehr viele von ihnen haben sich auch diese Auszeichnung vorher gl�hend erw�nscht. Aber der �bergang von der gew�hnlichen heimatlichen Schule in die Schulen von Kastalien f�llt den meisten Auserw�hlten dann doch schwerer, als sie gedacht h�tten, und bringt manchen unerwartete Entt�uschungen. Vor allem ist der �bergang f�r alle jene Sch�ler, die in i hrem Elternhaus gl�cklich und geliebt waren, ein sehr schwerer Abschied und Verzicht, und so kommt denn auch, namentlich w�hrend der beiden ersten Elitejahre, eine nicht unbetr�chtliche Zahl von R�ckversetzungen vor, deren Grund nicht ein Mangel an Begabung und Flei�, sondern Unf�higkeit der Sch�ler ist, sich mit dem Internatsleben und vor allem mit dem Gedanken zu vers�hnen, k�nftig die Verbindung mit Familie und Heimat immer mehr zu l�sen und schlie�lich keine andre Zugeh�rigkeit mehr zu kennen und zu r espektieren als die zum Orden. Dann gibt es je und je auch Sch�ler, welchen umgekehrt gerade das Loskommen vom Vaterhaus und von einer ihnen entleideten Schule die Hauptsache bei ihrer Aufnahme in die Elite war; diese, etwa von einem strengen Vater oder einem ihnen unangenehmen Lehrer befreit, atmeten zwar eine Weile auf, hatten sich aber von dem Wechsel so gro�e und unm�gliche Ver�nderungen ihres ganzen Lebens versprochen, da� bald eine Entt�uschung kam. Auch die eigentlichen Streber und Mustersch�ler, d i! e Pedantischen, konnten sich in Kastalien nicht immer halten; nicht da� sie den Studien nicht w�ren gewachsen gewesen, aber es kam in der Elite eben nicht allein auf die Studien und Fachzeugnisse an, sondern es wurden auch erzieherische und musische Ziele angestrebt, vor welchen dieser und jener die Waffen streckte. Immerhin war in dem System der vier gro�en Eliteschulen mit ihren zahlreichen Unterabteilungen und Zweiganstalten Raum f�r vielerlei Begabungen, und ein strebsamer Mathematiker oder Philologe, wenn er wirklich das Zeug zu einem Gelehrten in sich hatte, brauchte etwa einen Mangel an musikalischer oder philosophischer Begabung nicht als Gefahr zu empfinden. Es gab zuzeiten sogar in Kastalien sehr starke Tendenzen zur Pflege der reinen, n�chternen Fachwissenschaften, und die Vork�mpfer dieser Tendenzen waren nicht nur gegen die �Phantasten�, das hei�t gegen die Musikalischen und Musischen, kritisch und spottlustig gestimmt, sondern haben zuzeiten innerhalb ihrer Kreise alles Musische, und namentl ich das Glasperlenspiel, geradezu abgeschworen und verp�nt.Da Knechts Leben, soweit es uns bekannt ist, sich ganz in Kastalien abspielte, in jenem stillsten und heitersten Bezirk unseres gebirgigen Landes, den man fr�her mit einem Ausdruck des Dichters Goethe oft auch �die p�dagogische Provinz� genannt hat, wollen wir in aller K�rze und auf die Gefahr hin, den Leser mit L�ngstgewu�tem zu langweilen, nochmals dies ber�hmte Kastalien. +
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CrossBrowser_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CrossBrowser_2.html new file mode 100644 index 00000000000..a37a47b55ed --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/CrossBrowser_2.html @@ -0,0 +1,128 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Tests for crossbrowser offsetTop and offsetLeft properties provided by qx.dom

+
+ + + +




+

Inline

+ +
+
+
P1-A
+
P1-B
+
P1-C
+
P1-D
+
P1-E
+
P1-F
+
P1-G
+
P1-H
+
P1-I
+
+
+
P2-A
+
P2-B
+
P2-C
+
P2-D
+
P2-E
+
P2-F
+
P2-G
+
P2-H
+
P2-I
+
+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_1.html new file mode 100644 index 00000000000..6e4bab98be5 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_1.html @@ -0,0 +1,53 @@ + + + + qooxdoo » Demo + + + + + + + +
+ Simple Test for qx.ui.layout.DockLayout. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_2.html new file mode 100644 index 00000000000..52ecefadec8 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_2.html @@ -0,0 +1,224 @@ + + + + qooxdoo » Demo + + + + + + + +
+ The next generation of table-less layouts ;) +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_3.html new file mode 100644 index 00000000000..0ef1f5c789c --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_3.html @@ -0,0 +1,140 @@ + + + + qooxdoo » Demo + + + + + + + +
+ Testing Layouts inside the qx.ui.layout.DockLayout. In this example centering through qx.ui.layout.HorizontalBoxLayout. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_4.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_4.html new file mode 100644 index 00000000000..89cbe88603f --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_4.html @@ -0,0 +1,140 @@ + + + + qooxdoo » Demo + + + + + + + +
+ Same as the previous one, but additional the dimensions of the qx.ui.layout.DockLayout are defined as percents here. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_5.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_5.html new file mode 100644 index 00000000000..382db255e2b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_5.html @@ -0,0 +1,164 @@ + + + + qooxdoo » Demo + + + + + + + +
+ Same as the previous one, but additional added multiple children to the box layout. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_6.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_6.html new file mode 100644 index 00000000000..3bf090b428e --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DockLayout_6.html @@ -0,0 +1,71 @@ + + + + qooxdoo » Demo + + + + + + + +
+ Simple Test for qx.ui.layout.DockLayout. But with a dynamic child. Simple click on "Hello World" to see the effect. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DragAndDropManager_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DragAndDropManager_1.html new file mode 100644 index 00000000000..000c45aeb48 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DragAndDropManager_1.html @@ -0,0 +1,131 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for drag&drop implementation.

+

Changing the action using the modifier keys (Shift, Alt, Control) might not work in Safari.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DragAndDropManager_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DragAndDropManager_2.html new file mode 100644 index 00000000000..04a943caf43 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/DragAndDropManager_2.html @@ -0,0 +1,124 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test for drag&drop implementation.

+

Changing the action using the modifier keys (Shift, Alt, Control) might not work in Safari.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/EnabledDisabled_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/EnabledDisabled_1.html new file mode 100644 index 00000000000..d411a31dd9b --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/EnabledDisabled_1.html @@ -0,0 +1,230 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Some test for the enable property in QxObject which will be extended from qx.ui.core.Widget and any other + widget which need additional handling on a change of this property. Keep in mind: Disabled QxWidgets will be ignored + from the QxEventManager and the qx.event.handler.FocusHandler.

+
+ + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FieldSet_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FieldSet_1.html new file mode 100644 index 00000000000..378ffe5d865 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FieldSet_1.html @@ -0,0 +1,141 @@ + + + + qooxdoo » Demo + + + + + + + +
+

A more complex example than the previous one. Use layout managers for its content. Configured minWidth of the qx.ui.groupbox.GroupBox with "auto".

+
+ +
builtincontent content content content content content content content content content content content content content content
+ + + + + diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Fields_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Fields_1.html new file mode 100644 index 00000000000..997e1b04434 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Fields_1.html @@ -0,0 +1,179 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Test the setting of background color of form fields.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_1.html new file mode 100644 index 00000000000..6ec257199b6 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_1.html @@ -0,0 +1,319 @@ + + + + qooxdoo » Demo + + + + + + + +
+ Tests for the new implementation of the qx.ui.layout.FlowLayout widget. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_2.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_2.html new file mode 100644 index 00000000000..ba19c873065 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_2.html @@ -0,0 +1,193 @@ + + + + qooxdoo » Demo + + + + + + + +
+ Tests for the new implementation of the qx.ui.layout.FlowLayout widget. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_3.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_3.html new file mode 100644 index 00000000000..99c27e13bb1 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FlowLayout_3.html @@ -0,0 +1,277 @@ + + + + qooxdoo » Demo + + + + + + + +
+ Tests for the new implementation of the qx.ui.layout.FlowLayout widget. +
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FocusManager_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FocusManager_1.html new file mode 100644 index 00000000000..d25b31195cb --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FocusManager_1.html @@ -0,0 +1,108 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Some tests for some of the most used properties of qx.ui.basic.Terminator (coordinates, dimensions, backgroundColor, opacity, ...).

+

Also here are the first test of some widgets which extend qx.ui.basic.Terminator: qx.ui.form.TextField and qx.ui.form.PasswordField. These extended + widgets also interacts like the basic QxTerminators with the qx.event.handler.FocusHandler.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Font_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Font_1.html new file mode 100644 index 00000000000..42e7cbc13a4 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/Font_1.html @@ -0,0 +1,63 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing qx.renderer.font.Font object for QxLabels inside QxAtoms.

+
+ + + + \ No newline at end of file diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FormUtils_1.html b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FormUtils_1.html new file mode 100644 index 00000000000..2e7638d8f85 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/demo/source/html/test/FormUtils_1.html @@ -0,0 +1,86 @@ + + + + qooxdoo » Demo + + + + + + + +
+

Testing QxFormUtils

+
+ +
+
+ Basics + +
+ +
+ +
+
+ + +
+ + +
+ +