Changeset 146:221e73937bc7 for source


Ignore:
Timestamp:
Jan 4, 2010, 4:35:36 PM (15 years ago)
Author:
fnevgeny
Branch:
default
Phase:
public
Message:

Ported to QX-1.0.

Location:
source/class/pf
Files:
4 added
2 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • source/class/pf/Application.js

    r144 r146  
    1010
    1111/* ************************************************************************
    12 
    1312
    1413#asset(pf/image/*.png)
     
    170169    } else {
    171170        var tree = this.entity_tree;
    172         var leaf = tree.getSelectedElement();
    173         if (leaf && leaf.classname == "qx.legacy.ui.tree.TreeFile" && explorer_is_seen) {
     171        var leaf = getSingleTreeSelectedItem(tree);
     172        if (leaf && leaf.classname == "qx.ui.tree.TreeFile" && explorer_is_seen) {
    174173            this.loadWikiButton.setEnabled(true);
    175174        } else {
     
    190189
    191190    var tree = this.entity_tree;
    192     var leaf = tree.getSelectedElement();
    193 
    194     if (leaf && leaf.classname == "qx.legacy.ui.tree.TreeFile" && explorer_is_seen) {
     191    var leaf = getSingleTreeSelectedItem(tree);
     192
     193    if (leaf && leaf.classname == "qx.ui.tree.TreeFile" && explorer_is_seen) {
    195194        if (this.isFavorite(leaf)) {
    196195            this.editMenuButtonAddToFav.setEnabled(false);
     
    206205}
    207206
     207function getSingleTreeSelectedItem(tree)
     208{
     209    var sels = tree.getSelection();
     210    if (sels && sels.length == 1) {
     211        return sels[0];
     212    } else {
     213        return null;
     214    }
     215}
     216
    208217function treeMenuCB(ev)
    209218{
     
    214223            menu.hide();
    215224        } else {
    216             var leaf = ev.getTarget();
    217             var el = leaf.getElement();
    218            
    219             if (leaf.classname == "qx.legacy.ui.tree.TreeFile") {
     225            var w = ev.getTarget();
     226            var leaf = null;
     227            if (w.classname == "qx.ui.tree.TreeFile") {
     228                leaf = w;
     229            } else
     230            if (w.getLayoutParent().classname == "qx.ui.tree.TreeFile") {
     231                leaf = w.getLayoutParent();
     232            }
     233           
     234            if (leaf) {
    220235                if (this.isFavorite(leaf)) {
    221236                    this.treeMenuButtonAddToFav.setEnabled(false);
     
    230245            }
    231246           
    232             // position the menu
    233             menu.setLeft(ev.getClientX());
    234             menu.setTop(ev.getClientY());
    235 
     247            // position & show the menu
     248            menu.placeToMouse(ev);
    236249            menu.show();
    237250        };
    238251
    239         ev.stopPropagation();
     252        // ev.stopPropagation();
    240253    }
    241254}
     
    286299{
    287300    var tree = this.entity_tree;
    288     var leaf = tree.getSelectedElement();
     301    var leaf = getSingleTreeSelectedItem(tree);
    289302
    290303    if (!leaf) {
     
    311324{
    312325    var tree = this.entity_tree;
    313     var leaf = tree.getSelectedElement();
     326    var leaf = getSingleTreeSelectedItem(tree);
    314327
    315328    if (!leaf) {
     
    339352function clickTreeCB(ev)
    340353{
    341     var e = ev.getTarget();
    342     if (e.isSelected()) {
     354    var tree = ev.getTarget();
     355    var e = getSingleTreeSelectedItem(tree);
     356    if (e) {
    343357        var entity = e.getUserData("entity");
    344 
     358       
    345359        if (entity) {
    346360            this.gui_entity_units.update(entity.dimension,
     
    364378qx.Class.define("pf.Application",
    365379{
    366     extend : qx.application.Inline,
    367     include : [qx.legacy.application.MGuiCompat],
     380    extend : qx.application.Standalone,
    368381
    369382    /*
     
    410423            this.gui_T_r.setNumValue(this.plasma.r.getT());
    411424            this.gui_Z_r.setValue(this.plasma.r.getQ());
    412             this.gui_Zcore.setValue(this.plasma.r.getQ() + 1);
     425            this.gui_Zcore.setValue((this.plasma.r.getQ() + 1) + '');
    413426            this.gui_M_r.setValue(this.plasma.r.getM());
    414427           
     
    469482        {
    470483            var tree = this.entity_tree;
    471             var leaf = tree.getSelectedElement();
     484            var leaf = getSingleTreeSelectedItem(tree);
    472485           
    473486            if (!leaf) {
     
    481494            if (entity) {
    482495                var v     = this.evaluateEntityValue(entity, species);
    483                 var scale = this.gui_entity_units.getSelected().getValue();
     496                var scale = this.gui_entity_units.getSelectedValue();
    484497               
    485498                name    = this.getEntityFullName(entity, species);
     
    496509            this.gui_entity_section.setValue(section);
    497510
    498             this.gui_entity_value.setNumValue(value);
     511            if (isFinite(value)) {
     512                this.gui_entity_value.setNumValue(value);
     513            } else {
     514                this.gui_entity_value.setValue("");
     515            }
    499516           
    500517            if (this.prefs.autoLoadWiki) {
    501518                this.showWikiPage(entity);
    502519            } else {
    503                 this.gui_wiki.setSource(null);
     520                this.showWikiPage(null);
    504521            }
    505522        },
     
    597614                        var icon = "pf/image/" + s.id + "_small.png";
    598615
    599                         leaf = new qx.legacy.ui.tree.TreeFile(entity.name, icon);
    600                         leaf.addListener("changeSelected", clickTreeCB, this);
     616                        leaf = new qx.ui.tree.TreeFile(entity.name);
     617                        leaf.setIcon(icon);
    601618                        leaf.addListener("contextmenu", treeMenuCB, this);
    602619                        leaf.setUserData("entity", entity);
     
    611628                    break;
    612629                default:
    613                     leaf = new qx.legacy.ui.tree.TreeFile(entity.name,
    614                         "pf/image/all_small.png");
    615                     leaf.addListener("changeSelected", clickTreeCB, this);
     630                    leaf = new qx.ui.tree.TreeFile(entity.name);
     631                    leaf.setIcon("pf/image/all_small.png");
    616632                    leaf.addListener("contextmenu", treeMenuCB, this);
    617633                    leaf.setUserData("entity", entity);
     
    661677        {
    662678            var lv = this.favoritesListView;
    663             var rowData = lv.getData();
    664             rowData.length = 0;
     679            var tm = lv.getTableModel();
    665680           
    666681            var dimension = this.gui_compare_dim.getSelectedValue();
    667682           
    668683            var scale = this.gui_compare_units.getSelectedValue();
     684           
     685            var rowData = new Array();
    669686           
    670687            for (var i = 0; i < this.favorites.length; i++) {
     
    687704                var value = scale*this.evaluateEntityValue(entity, species);
    688705
    689                 rowData.push({ s_icon  : {icon       : icon,
    690                                           iconWidth  : 16,
    691                                           iconHeight : 16             },
    692                                name    : {text       : name           },
    693                                section : {text       : entity.section },
    694                                value   : {text       : pf.util.Format.numPrint(value)}
    695                              });
    696             }
    697            
    698             lv.updateSort();
    699             lv.update();
     706                rowData.push([icon, name, entity.section,
     707                    pf.util.Format.numPrint(value)]);
     708            }
     709           
     710            tm.setData(rowData, false);
     711            var sidx = tm.getSortColumnIndex();
     712            tm.sortByColumn(sidx, tm.isSortAscending());
     713           
     714            lv.updateContent();
     715            // lv.updateSort();
     716            // lv.update();
    700717        },
    701718
     
    703720        {
    704721            var lv = this.legendListView;
    705             var rowData = lv.getData();
    706             rowData.length = 0;
     722            var tm = lv.getTableModel();
     723
     724            var rowData = new Array();
    707725           
    708726            var dimension = this.gui_compare_dim.getSelectedValue();
     
    727745                var color = fav.color;
    728746
    729                 rowData.push({ s_icon   : {icon       : icon,
    730                                            iconWidth  : 16,
    731                                            iconHeight : 16    },
    732                                name     : {text       : name  },
    733                                color    : {text       : color,
    734                                            textColor  : color },
    735                                favorite : fav
    736                              });
    737             }
    738             lv.update();
     747                rowData.push({"icon": icon, "name": name, "color": color,
     748                    "favorite": fav});
     749            }
     750           
     751            tm.setDataAsMapArray(rowData);
     752            // lv.updateContent();
    739753        },
    740754
     
    742756        renderTabPage : function(label, icon, checked)
    743757        {
    744             var tab_id, page_id;
    745            
    746             tab_id = new qx.legacy.ui.pageview.tabview.Button(label, icon);
    747             this.tabbar.add(tab_id);
    748             page_id = new qx.legacy.ui.pageview.tabview.Page(tab_id);
    749             page_id.setHeight("100%");
    750             page_id.setPadding(10, 10, 10, 10);
    751             page_id.setBackgroundColor("white");
    752             this.tabpane.add(page_id);
     758            var page_id;
     759           
     760            page_id = new qx.ui.tabview.Page(label, icon);
     761            page_id.setPadding(0, 0, 0, 0);
     762            this.tabview.add(page_id);
    753763
    754764            if (checked) {
    755                 tab_id.setChecked(true);
     765                this.tabview.setSelection(page_id);
    756766            }
    757767           
     
    761771        renderParametersTab : function()
    762772        {
     773            var fr, gl, rc, rc1, rc2;
     774           
    763775            var page_id = this.renderTabPage("Parameters",
    764776                "pf/image/tab-parameters.png", true);
    765 
    766             var fr, gl, rc0, rc, rc1, rc2;
    767 
    768             rc0 = new qx.legacy.ui.layout.VerticalBoxLayout;
    769             rc0.setWidth("100%");
    770             rc0.setHeight("auto");
    771             rc0.setSpacing(1);
    772             page_id.add(rc0);
    773 
    774             fr = new qx.legacy.ui.groupbox.GroupBox("Configuration name",
     777            page_id.setLayout(new qx.ui.layout.VBox(1));
     778
     779            fr = new qx.ui.groupbox.GroupBox("Configuration name",
    775780                "pf/image/info.png");
    776             fr.setDimension("100%", "auto");
    777             fr.setBackgroundColor("#e1eeff");
    778             fr.getLegendObject().setBackgroundColor("#e1eeff");
     781            fr.setLayout(new qx.ui.layout.VBox());
     782
    779783            this.gui_configName =
    780                 new qx.legacy.ui.basic.Atom(this.prefs.currentConfigName);
     784                new qx.ui.basic.Atom(this.prefs.currentConfigName);
    781785            fr.add(this.gui_configName);
    782             rc0.add(fr);
    783 
    784             rc = new qx.legacy.ui.layout.HorizontalBoxLayout;
    785             rc.setWidth("100%");
    786             rc.setHeight("auto");
    787             rc.setSpacing(1);
    788             rc0.add(rc);
    789            
    790             rc1 = new qx.legacy.ui.layout.VerticalBoxLayout;
    791             rc1.setWidth("50%");
    792             rc1.setHeight("auto");
    793             rc1.setSpacing(2);
    794             rc.add(rc1);
    795            
    796             rc2 = new qx.legacy.ui.layout.VerticalBoxLayout;
    797             rc2.setWidth("50%");
    798             rc2.setHeight("auto");
    799             rc2.setSpacing(2);
    800             rc.add(rc2);
    801            
    802             fr = new qx.legacy.ui.groupbox.GroupBox("Electrons",
     786            page_id.add(fr);
     787           
     788
     789            rc = new qx.ui.container.Composite(new qx.ui.layout.HBox(1));
     790            page_id.add(rc);
     791           
     792            rc1 = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
     793            rc.add(rc1, {flex : 1});
     794           
     795            rc2 = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
     796            rc.add(rc2, {flex : 1});
     797           
     798           
     799            fr = new qx.ui.groupbox.GroupBox("Electrons",
    803800                "pf/image/e_small.png");
    804             fr.setDimension("100%", "auto");
    805             fr.setBackgroundColor("#eeeeff");
    806             fr.getLegendObject().setBackgroundColor("#eeeeff");
     801            fr.setLayout(new qx.ui.layout.VBox());
    807802
    808803            rc1.add(fr);
    809804
    810             gl = new qx.legacy.ui.layout.GridLayout;
    811             gl.setWidth("100%");
    812             gl.setVerticalSpacing(4);
    813             gl.setHorizontalSpacing(6);
    814             gl.setColumnCount(2);
    815             gl.setColumnWidth(0, "25%");
    816             gl.setColumnWidth(1, "75%");
    817             gl.setRowCount(2);
    818             gl.setRowHeight(0, 30);
    819             gl.setRowHeight(1, 30);
     805            var layout = new qx.ui.layout.Grid(4, 6);
     806            layout.setColumnWidth(0, 80);
     807            layout.setColumnFlex(1, 1);
     808            gl = new qx.ui.container.Composite(layout);
    820809
    821810            fr.add(gl);
     
    824813
    825814            // N_e
    826             l = new qx.legacy.ui.basic.Label("N<sub>e</sub> (cm<sup>-3</sup>):");
    827             gl.add(l, 0, 0);
     815            l = new qx.ui.basic.Label("N<sub>e</sub> (cm<sup>-3</sup>):");
     816            l.setRich(true);
     817            gl.add(l, {row: 0, column: 0});
    828818            e = new pf.ui.TextField(this.plasma.e.getN());
    829             gl.add(e, 1, 0);
     819            gl.add(e, {row: 0, column: 1});
    830820            e.addListener("changeValue", changeN_e, this);
    831821            this.gui_N_e = e;
    832822
    833823            // T_e
    834             l = new qx.legacy.ui.basic.Label("T<sub>e</sub> (eV):");
    835             gl.add(l, 0, 1);
     824            l = new qx.ui.basic.Label("T<sub>e</sub> (eV):");
     825            l.setRich(true);
     826            gl.add(l, {row: 1, column: 0});
    836827            e = new pf.ui.TextField(this.plasma.e.getT());
    837             gl.add(e, 1, 1);
     828            gl.add(e, {row: 1, column: 1});
    838829            e.addListener("changeValue", changeT_e, this);
    839830            this.gui_T_e = e;
    840 
    841 
    842             fr = new qx.legacy.ui.groupbox.GroupBox("Ions",
     831           
     832            fr = new qx.ui.groupbox.GroupBox("Ions",
    843833                "pf/image/i_small.png");
    844             fr.setDimension("100%", "auto");
    845             fr.setBackgroundColor("#ffeeee");
    846             fr.getLegendObject().setBackgroundColor("#ffeeee");
     834            fr.setLayout(new qx.ui.layout.VBox());
    847835
    848836            rc1.add(fr);
    849837
    850             gl = new qx.legacy.ui.layout.GridLayout;
    851             gl.setWidth("100%");
    852             gl.setVerticalSpacing(4);
    853             gl.setHorizontalSpacing(6);
    854             gl.setColumnCount(2);
    855             gl.setColumnWidth(0, "25%");
    856             gl.setColumnWidth(1, "75%");
    857             gl.setRowCount(4);
    858             gl.setRowHeight(0, 30);
    859             gl.setRowHeight(1, 30);
    860             gl.setRowHeight(2, 30);
    861             gl.setRowHeight(3, 30);
     838            layout = new qx.ui.layout.Grid(4, 6);
     839            layout.setColumnWidth(0, 80);
     840            layout.setColumnFlex(1, 1);
     841            gl = new qx.ui.container.Composite(layout);
    862842
    863843            fr.add(gl);
    864844
    865845            // Z_i
    866             l = new qx.legacy.ui.basic.Label("Z<sub>i</sub>:");
    867             gl.add(l, 0, 0);
    868             e = new pf.ui.Spinner(1, this.plasma.i.getQ(), 100);
    869             gl.add(e, 1, 0);
    870             e.addListener("change", changeZ_i, this);
     846            l = new qx.ui.basic.Label("Z<sub>i</sub>:");
     847            l.setRich(true);
     848            gl.add(l, {row: 0, column: 0});
     849            e = new qx.ui.form.Spinner(1, this.plasma.i.getQ(), 100);
     850            gl.add(e, {row: 0, column: 1});
     851            e.addListener("changeValue", changeZ_i, this);
    871852            this.gui_Z_i = e;
    872853           
    873854            // M_i
    874             l = new qx.legacy.ui.basic.Label("M<sub>i</sub>:");
    875             gl.add(l, 0, 1);
    876             e = new pf.ui.Spinner(1, this.plasma.i.getM(), 200);
    877             gl.add(e, 1, 1);
    878             e.addListener("change", changeM_i, this);
     855            l = new qx.ui.basic.Label("M<sub>i</sub>:");
     856            l.setRich(true);
     857            gl.add(l, {row: 1, column: 0});
     858            e = new qx.ui.form.Spinner(1, this.plasma.i.getM(), 200);
     859            gl.add(e, {row: 1, column: 1});
     860            e.addListener("changeValue", changeM_i, this);
    879861            this.gui_M_i = e;
    880862           
    881863            // T_i
    882             l = new qx.legacy.ui.basic.Label("T<sub>i</sub> (eV):");
    883             gl.add(l, 0, 2);
     864            l = new qx.ui.basic.Label("T<sub>i</sub> (eV):");
     865            l.setRich(true);
     866            gl.add(l, {row: 2, column: 0});
    884867            e = new pf.ui.TextField(this.plasma.i.getT());
    885             gl.add(e, 1, 2);
     868            gl.add(e, {row: 2, column: 1});
    886869            e.addListener("changeValue", changeT_i, this);
    887870            this.gui_T_i = e;
    888871
    889872            // N_i
    890             l = new qx.legacy.ui.basic.Label("N<sub>i</sub> (cm<sup>-3</sup>):");
    891             gl.add(l, 0, 3);
     873            l = new qx.ui.basic.Label("N<sub>i</sub> (cm<sup>-3</sup>):");
     874            l.setRich(true);
     875            gl.add(l, {row: 3, column: 0});
    892876            e = new pf.ui.TextField(this.plasma.i.getN());
    893             gl.add(e, 1, 3);
     877            gl.add(e, {row: 3, column: 1});
    894878            e.setReadOnly(true);
    895879            this.gui_N_i = e;
    896880           
    897            
    898             fr = new qx.legacy.ui.groupbox.GroupBox("Radiators",
     881            fr = new qx.ui.groupbox.GroupBox("Radiators",
    899882                "pf/image/r_small.png");
    900             fr.setDimension("100%", "auto");
    901             fr.setBackgroundColor("#eeffee");
    902             fr.getLegendObject().setBackgroundColor("#eeffee");
     883            fr.setLayout(new qx.ui.layout.VBox());
    903884
    904885            rc2.add(fr);
    905886
    906             gl = new qx.legacy.ui.layout.GridLayout;
    907             gl.setWidth("100%");
    908             gl.setVerticalSpacing(4);
    909             gl.setHorizontalSpacing(6);
    910             gl.setColumnCount(2);
    911             gl.setColumnWidth(0, "25%");
    912             gl.setColumnWidth(1, "75%");
    913             gl.setRowCount(5);
    914             gl.setRowHeight(0, 30);
    915             gl.setRowHeight(1, 30);
    916             gl.setRowHeight(2, 30);
    917             gl.setRowHeight(3, 30);
    918             gl.setRowHeight(4, 30);
     887            layout = new qx.ui.layout.Grid(4, 6);
     888            layout.setColumnWidth(0, 80);
     889            layout.setColumnFlex(1, 1);
     890            gl = new qx.ui.container.Composite(layout);
    919891
    920892            fr.add(gl);
    921893
    922 
    923894            // Z_r
    924             l = new qx.legacy.ui.basic.Label("Z<sub>r</sub>:");
    925             gl.add(l, 0, 0);
    926             e = new pf.ui.Spinner(0, this.plasma.r.getQ(), 100);
    927             gl.add(e, 1, 0);
    928             e.addListener("change", changeZ_r, this);
     895            l = new qx.ui.basic.Label("Z<sub>r</sub>:");
     896            l.setRich(true);
     897            gl.add(l, {row: 0, column: 0});
     898            e = new qx.ui.form.Spinner(0, this.plasma.r.getQ(), 100);
     899            gl.add(e, {row: 0, column: 1});
     900            e.addListener("changeValue", changeZ_r, this);
    929901            this.gui_Z_r = e;
    930902
    931903            // M_r
    932             l = new qx.legacy.ui.basic.Label("M<sub>r</sub>:");
    933             gl.add(l, 0, 1);
    934             e = new pf.ui.Spinner(1, this.plasma.r.getM(), 200);
    935             gl.add(e, 1, 1);
    936             e.addListener("change", changeM_r, this);
     904            l = new qx.ui.basic.Label("M<sub>r</sub>:");
     905            l.setRich(true);
     906            gl.add(l, {row: 1, column: 0});
     907            e = new qx.ui.form.Spinner(1, this.plasma.r.getM(), 200);
     908            gl.add(e, {row: 1, column: 1});
     909            e.addListener("changeValue", changeM_r, this);
    937910            this.gui_M_r = e;
    938911
    939912            // T_r
    940             l = new qx.legacy.ui.basic.Label("T<sub>r</sub> (eV):");
    941             gl.add(l, 0, 2);
     913            l = new qx.ui.basic.Label("T<sub>r</sub> (eV):");
     914            l.setRich(true);
     915            gl.add(l, {row: 2, column: 0});
    942916            e = new pf.ui.TextField(this.plasma.r.getT());
    943             gl.add(e, 1, 2);
     917            gl.add(e, {row: 2, column: 1});
    944918            e.addListener("changeValue", changeT_r, this);
    945919            this.gui_T_r = e;
    946920
    947921            // P_r
    948             l = new qx.legacy.ui.basic.Label("P<sub>r</sub> (%):");
    949             gl.add(l, 0, 3);
    950             e = new pf.ui.Spinner(0, 100*this.plasma.P_r, 100);
    951             gl.add(e, 1, 3);
    952             e.addListener("change", changeP_r, this);
     922            l = new qx.ui.basic.Label("P<sub>r</sub> (%):");
     923            l.setRich(true);
     924            gl.add(l, {row: 3, column: 0});
     925            e = new qx.ui.form.Spinner(0, 100*this.plasma.P_r, 100);
     926            gl.add(e, {row: 3, column: 1});
     927            e.addListener("changeValue", changeP_r, this);
    953928            this.gui_P_r = e;
    954929
    955930            // N_r
    956             l = new qx.legacy.ui.basic.Label("N<sub>r</sub> (cm<sup>-3</sup>):");
    957             gl.add(l, 0, 4);
     931            l = new qx.ui.basic.Label("N<sub>r</sub> (cm<sup>-3</sup>):");
     932            l.setRich(true);
     933            gl.add(l, {row: 4, column: 0});
    958934            e = new pf.ui.TextField(this.plasma.r.getN());
    959935            e.setReadOnly(true);
    960             gl.add(e, 1, 4);
     936            gl.add(e, {row: 4, column: 1});
    961937            this.gui_N_r = e;
    962938
    963939
    964             fr = new qx.legacy.ui.groupbox.GroupBox("Fields",
     940            fr = new qx.ui.groupbox.GroupBox("Fields",
    965941                "pf/image/field_small.png");
    966             fr.setDimension("100%", "auto");
    967             fr.setBackgroundColor("#ffffdd");
    968             fr.getLegendObject().setBackgroundColor("#ffffdd");
     942            fr.setLayout(new qx.ui.layout.VBox());
    969943
    970944            rc1.add(fr);
    971945
    972             gl = new qx.legacy.ui.layout.GridLayout;
    973             gl.setWidth("100%");
    974             gl.setVerticalSpacing(4);
    975             gl.setHorizontalSpacing(6);
    976             gl.setColumnCount(2);
    977             gl.setColumnWidth(0, "25%");
    978             gl.setColumnWidth(1, "75%");
    979             gl.setRowCount(1);
    980             gl.setRowHeight(0, 30);
     946            layout = new qx.ui.layout.Grid(4, 6);
     947            layout.setColumnWidth(0, 80);
     948            layout.setColumnFlex(1, 1);
     949            gl = new qx.ui.container.Composite(layout);
    981950
    982951            fr.add(gl);
    983952
    984953
    985             l = new qx.legacy.ui.basic.Label("B (T):");
    986             gl.add(l, 0, 0);
     954            l = new qx.ui.basic.Label("B (T):");
     955            l.setRich(true);
     956            gl.add(l, {row: 0, column: 0});
    987957            e = new pf.ui.TextField(this.plasma.B);
    988             gl.add(e, 1, 0);
     958            gl.add(e, {row: 0, column: 1});
    989959            e.addListener("changeValue", changeB, this);
    990960            this.gui_B = e;
    991961
    992962            // Atomic system frame
    993             fr = new qx.legacy.ui.groupbox.GroupBox("Atomic system",
     963            fr = new qx.ui.groupbox.GroupBox("Atomic system",
    994964                "pf/image/all_small.png");
    995             fr.setDimension("100%", "auto");
    996             fr.setBackgroundColor("#ffffdd");
    997             fr.getLegendObject().setBackgroundColor("#ffffdd");
     965            fr.setLayout(new qx.ui.layout.VBox());
    998966
    999967            rc2.add(fr);
    1000968
    1001             gl = new qx.legacy.ui.layout.GridLayout;
    1002             gl.setWidth("100%");
    1003             gl.setVerticalSpacing(4);
    1004             gl.setHorizontalSpacing(6);
    1005             gl.setColumnCount(2);
    1006             gl.setColumnWidth(0, "25%");
    1007             gl.setColumnWidth(1, "75%");
    1008             gl.setRowCount(3);
    1009             gl.setRowHeight(0, 30);
    1010             gl.setRowHeight(1, 30);
    1011             gl.setRowHeight(2, 30);
     969            layout = new qx.ui.layout.Grid(4, 6);
     970            layout.setColumnWidth(0, 80);
     971            layout.setColumnFlex(1, 1);
     972            gl = new qx.ui.container.Composite(layout);
    1012973
    1013974            fr.add(gl);
    1014975
    1015             l = new qx.legacy.ui.basic.Label("Z<sub>core</sub>:");
    1016             gl.add(l, 0, 0);
    1017             e = new qx.legacy.ui.form.TextField(this.plasma.r.getQ() + 1);
     976            l = new qx.ui.basic.Label("Z<sub>core</sub>:");
     977            l.setRich(true);
     978            gl.add(l, {row: 0, column: 0});
     979            e = new qx.ui.form.TextField((this.plasma.r.getQ() + 1) + '');
    1018980            e.setReadOnly(true);
    1019             gl.add(e, 1, 0);
     981            gl.add(e, {row: 0, column: 1});
    1020982            this.gui_Zcore = e;
    1021983
    1022             l = new qx.legacy.ui.basic.Label("n<sub>u</sub>:");
    1023             gl.add(l, 0, 1);
    1024             e = new pf.ui.Spinner(2, this.plasma.n_u, 1000);
    1025             gl.add(e, 1, 1);
    1026             e.addListener("change", changeN_u, this);
     984            l = new qx.ui.basic.Label("n<sub>u</sub>:");
     985            l.setRich(true);
     986            gl.add(l, {row: 1, column: 0});
     987            e = new qx.ui.form.Spinner(2, this.plasma.n_u, 1000);
     988            gl.add(e, {row: 1, column: 1});
     989            e.addListener("changeValue", changeN_u, this);
    1027990            this.gui_n_u = e;
    1028991
    1029             l = new qx.legacy.ui.basic.Label("n<sub>l</sub>:");
    1030             gl.add(l, 0, 2);
    1031             e = new pf.ui.Spinner(1, this.plasma.n_l, 1000);
    1032             gl.add(e, 1, 2);
    1033             e.addListener("change", changeN_l, this);
     992            l = new qx.ui.basic.Label("n<sub>l</sub>:");
     993            l.setRich(true);
     994            gl.add(l, {row: 2, column: 0});
     995            e = new qx.ui.form.Spinner(1, this.plasma.n_l, 1000);
     996            gl.add(e, {row: 2, column: 1});
     997            e.addListener("changeValue", changeN_l, this);
    1034998            this.gui_n_l = e;
    1035999        },
     
    10391003            var page_id = this.renderTabPage("Explorer",
    10401004                "pf/image/tab-explorer.png", false);
    1041            
    1042             var sp = new qx.legacy.ui.splitpane.HorizontalSplitPane(300, "1*");
    1043             sp.set(
    1044             {
    1045                 left            : 1,
    1046                 right           : 1,
    1047                 top             : 1,
    1048                 bottom          : 1,
    1049                 border          : "inset-thin",
    1050                 showKnob        : true
     1005            page_id.setLayout(new qx.ui.layout.VBox);
     1006
     1007            var sp = new qx.ui.splitpane.Pane("horizontal");
     1008            page_id.add(sp, {height: "100%"});
     1009           
     1010            // Create container with fixed dimensions for the left:
     1011            var left_pane = new qx.ui.container.Composite(new qx.ui.layout.Grow).set({
     1012              width: 250,
     1013              decorator : "main"
    10511014            });
    1052             page_id.add(sp);
    1053                        
    1054             var left_pane  = sp.getLeftArea();
    1055             left_pane.setBackgroundColor("white");
    1056             left_pane.setBorder("inset-thin");
    1057             var right_pane = sp.getRightArea();
    1058             right_pane.setBackgroundColor("white");
    1059             right_pane.setBorder("inset-thin");
    1060             var tree = new qx.legacy.ui.tree.Tree("Browser");
    1061             tree.set(
    1062             {
    1063                 overflow        : "scroll",
    1064                 height          : "100%",
    1065                 width           : "100%",
    1066                 paddingLeft     : 4,
    1067                 paddingTop      : 4
     1015
     1016            // Create container for the right:
     1017            var right_pane = new qx.ui.container.Composite(new qx.ui.layout.VBox(4)).set({
     1018              padding : 4,
     1019              decorator : "main"
    10681020            });
     1021
     1022            sp.add(left_pane,  0, {flex: 1});
     1023            sp.add(right_pane, 1, {flex: 2});
     1024
     1025           
     1026            var tree = new qx.ui.tree.Tree("Browser");
    10691027            left_pane.add(tree);
    10701028           
     
    10731031            var folder;
    10741032           
    1075             folder = new qx.legacy.ui.tree.TreeFolder("Dimensionless");
    1076             folder.setAlwaysShowPlusMinusSymbol(true);
    1077             folder.addListener("changeSelected", clickTreeCB, this);
    1078             tree.add(folder);
     1033            var root = new qx.ui.tree.TreeFolder("Root");
     1034            root.setOpen(true);
     1035            tree.setRoot(root);
     1036            tree.setHideRoot(true);
     1037            tree.setRootOpenClose(true);
     1038            tree.setOpenMode("none");
     1039
     1040            tree.addListener("changeSelection", clickTreeCB, this);
     1041           
     1042            folder = new qx.ui.tree.TreeFolder("Dimensionless");
     1043            root.add(folder);
    10791044            this.gui_folder_none = folder;
    10801045
    1081             folder = new qx.legacy.ui.tree.TreeFolder("Length");
    1082             folder.setAlwaysShowPlusMinusSymbol(true);
    1083             folder.addListener("changeSelected", clickTreeCB, this);
    1084             tree.add(folder);
     1046            folder = new qx.ui.tree.TreeFolder("Length");
     1047            root.add(folder);
    10851048            this.gui_folder_length = folder;
    10861049           
    1087             folder = new qx.legacy.ui.tree.TreeFolder("Frequency");
    1088             folder.setAlwaysShowPlusMinusSymbol(true);
    1089             folder.addListener("changeSelected", clickTreeCB, this);
    1090             tree.add(folder);
     1050            folder = new qx.ui.tree.TreeFolder("Frequency");
     1051            root.add(folder);
    10911052            this.gui_folder_freq = folder;
    10921053
    1093             folder = new qx.legacy.ui.tree.TreeFolder("Velocity");
    1094             folder.setAlwaysShowPlusMinusSymbol(true);
    1095             folder.addListener("changeSelected", clickTreeCB, this);
    1096             tree.add(folder);
     1054            folder = new qx.ui.tree.TreeFolder("Velocity");
     1055            root.add(folder);
    10971056            this.gui_folder_vel = folder;
    10981057           
    1099             folder = new qx.legacy.ui.tree.TreeFolder("Area");
    1100             folder.setAlwaysShowPlusMinusSymbol(true);
    1101             folder.addListener("changeSelected", clickTreeCB, this);
    1102             tree.add(folder);
     1058            folder = new qx.ui.tree.TreeFolder("Area");
     1059            root.add(folder);
    11031060            this.gui_folder_area = folder;
    11041061
    1105             folder = new qx.legacy.ui.tree.TreeFolder("Energy");
    1106             folder.setAlwaysShowPlusMinusSymbol(true);
    1107             folder.addListener("changeSelected", clickTreeCB, this);
    1108             tree.add(folder);
     1062            folder = new qx.ui.tree.TreeFolder("Energy");
     1063            root.add(folder);
    11091064            this.gui_folder_energy = folder;
    11101065
    1111             folder = new qx.legacy.ui.tree.TreeFolder("Pressure");
    1112             folder.setAlwaysShowPlusMinusSymbol(true);
    1113             folder.addListener("changeSelected", clickTreeCB, this);
    1114             tree.add(folder);
     1066            folder = new qx.ui.tree.TreeFolder("Pressure");
     1067            root.add(folder);
    11151068            this.gui_folder_pressure = folder;
    11161069
    1117             folder = new qx.legacy.ui.tree.TreeFolder("Power density");
    1118             folder.setAlwaysShowPlusMinusSymbol(true);
    1119             folder.addListener("changeSelected", clickTreeCB, this);
    1120             tree.add(folder);
     1070            folder = new qx.ui.tree.TreeFolder("Power density");
     1071            root.add(folder);
    11211072            this.gui_folder_power_density = folder;
    11221073
    1123             folder = new qx.legacy.ui.tree.TreeFolder("Power spectral density");
    1124             folder.setAlwaysShowPlusMinusSymbol(true);
    1125             folder.addListener("changeSelected", clickTreeCB, this);
    1126             tree.add(folder);
     1074            folder = new qx.ui.tree.TreeFolder("Power spectral density");
     1075            root.add(folder);
    11271076            this.gui_folder_spectral_power_density = folder;
    11281077
    1129             folder = new qx.legacy.ui.tree.TreeFolder("Miscellaneous");
    1130             folder.setAlwaysShowPlusMinusSymbol(true);
    1131             folder.addListener("changeSelected", clickTreeCB, this);
    1132             tree.add(folder);
     1078            folder = new qx.ui.tree.TreeFolder("Miscellaneous");
     1079            root.add(folder);
    11331080            this.gui_folder_misc = folder;
    11341081
     1082           
     1083
    11351084            this.populateTree();
    11361085
    1137             tree.setHideNode(true);
    1138             tree.setRootOpenClose(true);
    1139            
    11401086            // Build context-sensitive popup menu
    1141             this.treeMenu = new qx.legacy.ui.menu.Menu;
     1087            this.treeMenu = new qx.ui.menu.Menu;
    11421088            var button;
    11431089           
    1144             button = new qx.legacy.ui.menu.Button("Add to Favorites",
     1090            button = new qx.ui.menu.Button("Add to Favorites",
    11451091                "pf/image/favorite-add.png");
    11461092            button.addListener("execute", addToFavCB, this);
    11471093            this.treeMenu.add(button);
    11481094            this.treeMenuButtonAddToFav = button;
    1149             button = new qx.legacy.ui.menu.Button("Remove from Favorites",
     1095            button = new qx.ui.menu.Button("Remove from Favorites",
    11501096                "pf/image/favorite-delete.png");
    11511097            button.addListener("execute", removeFromFavCB, this);
     
    11561102
    11571103
    1158             var vbl = new qx.legacy.ui.layout.VerticalBoxLayout("vertical");
    1159             vbl.set(
    1160             {
    1161                 height          : "100%",
    1162                 width           : "100%",
    1163                 padding         : 4,
    1164                 spacing         : 10
    1165             });
    1166             right_pane.add(vbl);
    1167 
    1168             var gl = new qx.legacy.ui.layout.GridLayout;
    1169             gl.set(
    1170             {
    1171                 height            : "auto",
    1172                 left              : 4,
    1173                 right             : 4,
    1174                 top               : 4,
    1175                 verticalSpacing   : 4,
    1176                 horizontalSpacing : 6
    1177             });
    1178            
    1179             gl.setColumnCount(3);
    1180             gl.setColumnWidth(0, "15%");
    1181             gl.setColumnWidth(1, "60%");
    1182             gl.setColumnWidth(2, "20%");
    1183             gl.setRowCount(3);
    1184             gl.setRowHeight(0, 30);
    1185             gl.setRowHeight(1, 30);
    1186             gl.setRowHeight(2, 30);
    1187 
     1104            var layout = new qx.ui.layout.Grid(4, 6);
     1105            layout.setColumnFlex(0, 3);
     1106            layout.setColumnFlex(1, 12);
     1107            layout.setColumnFlex(2, 4);
     1108            layout.setColumnMinWidth(0,  50);
     1109            layout.setColumnMaxWidth(2, 150);
     1110            var gl = new qx.ui.container.Composite(layout);
     1111           
    11881112            var l, e;
    1189 
    1190             l = new qx.legacy.ui.basic.Label("Name:");
    1191             gl.add(l, 0, 0);
    1192             e = new qx.legacy.ui.form.TextField();
     1113           
     1114
     1115            l = new qx.ui.basic.Label("Name:");
     1116            gl.add(l, {row: 0, column: 0});
     1117            e = new qx.ui.form.TextField();
    11931118            e.setReadOnly(true);
    11941119            this.gui_entity_name = e;
    1195             gl.add(e, 1, 0);
    1196 
    1197             l = new qx.legacy.ui.basic.Label("Value:");
    1198             gl.add(l, 0, 1);
     1120            gl.add(e, {row: 0, column: 1, colSpan: 2});
     1121
     1122            l = new qx.ui.basic.Label("Value:");
     1123            gl.add(l, {row: 1, column: 0});
    11991124            e = new pf.ui.TextField("");
    12001125            e.setReadOnly(true);
    1201             gl.add(e, 1, 1);
     1126            gl.add(e, {row: 1, column: 1});
    12021127            this.gui_entity_value = e;
    12031128
    12041129            e = new pf.UnitSelector();
    1205             e.addListener("changeSelected", changeUnitsCB, this);
    1206             gl.add(e, 2, 1);
     1130            e.addListener("changeSelection", changeUnitsCB, this);
     1131            gl.add(e, {row: 1, column: 2});
    12071132            this.gui_entity_units = e;
    12081133
    1209             l = new qx.legacy.ui.basic.Label("Section:");
    1210             gl.add(l, 0, 2);
    1211             e = new qx.legacy.ui.form.TextField();
     1134            l = new qx.ui.basic.Label("Section:");
     1135            gl.add(l, {row: 2, column: 0});
     1136            e = new qx.ui.form.TextField();
    12121137            e.setReadOnly(true);
    12131138            this.gui_entity_section = e;
    1214             gl.add(e, 1, 2);
    1215 
    1216             vbl.add(gl);
    1217            
    1218             var frame = new qx.legacy.ui.embed.Iframe();
    1219             frame.set({ width : '100%', height : '2*' });
    1220            
    1221             vbl.add(frame);
     1139            gl.add(e, {row: 2, column: 1, colSpan: 2});
     1140
     1141            right_pane.add(gl, {flex: 1});
     1142           
     1143            var frame = new qx.ui.embed.Iframe();
     1144           
     1145            right_pane.add(frame, {flex : 3 });
    12221146           
    12231147            this.gui_wiki = frame;
     
    12281152            var page_id = this.renderTabPage("Compare",
    12291153                "pf/image/tab-compare.png");
    1230            
    1231             var bl = new qx.legacy.ui.layout.VerticalBoxLayout("vertical");
    1232             bl.setWidth("100%");
    1233             bl.setHeight("100%");
    1234             bl.setSpacing(10);
     1154            page_id.setLayout(new qx.ui.layout.VBox(1));
     1155           
     1156            var bl = new qx.ui.container.Composite(new qx.ui.layout.VBox(10));
    12351157            page_id.add(bl);
    12361158           
    1237             var rc = new qx.legacy.ui.layout.HorizontalBoxLayout;
    1238             rc.setWidth("100%");
    1239             rc.setHeight("auto");
    1240             rc.setSpacing(10);
     1159            var rc = new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
    12411160            bl.add(rc);
    12421161
    12431162            var l, e;
    1244             l = new qx.legacy.ui.basic.Label("Dimension:");
    1245             e = new pf.ui.ComboBox;
    1246             e.add(new qx.legacy.ui.form.ListItem("Frequency", null, "frequency"));
    1247             e.add(new qx.legacy.ui.form.ListItem("Length", null, "length"));
    1248             e.add(new qx.legacy.ui.form.ListItem("Velocity", null, "velocity"));
    1249             e.add(new qx.legacy.ui.form.ListItem("Energy", null, "energy"));
    1250             e.add(new qx.legacy.ui.form.ListItem("Pressure", null, "pressure"));
    1251             e.add(new qx.legacy.ui.form.ListItem("Area", null, "area"));
    1252             e.add(new qx.legacy.ui.form.ListItem("Power density", null, "power_density"));
    1253             e.add(new qx.legacy.ui.form.ListItem("Power spectral density",
    1254                 null, "spectral_power_density"));
    1255             e.add(new qx.legacy.ui.form.ListItem("Electric field", null, "efield"));
    1256             e.add(new qx.legacy.ui.form.ListItem("None", null, "none"));
    1257             e.addListener("changeSelected", function(ev) {
     1163            l = new qx.ui.basic.Label("Dimension:");
     1164            rc.add(l);
     1165            e = new pf.ui.SelectBox;
     1166            e.addItem("None", "none");
     1167            e.addItem("Length", "length");
     1168            e.addItem("Frequency", "frequency");
     1169            e.addItem("Velocity", "velocity");
     1170            e.addItem("Area", "area");
     1171            e.addItem("Energy", "energy");
     1172            e.addItem("Pressure", "pressure");
     1173            e.addItem("Power density", "power_density");
     1174            e.addItem("Power spectral density", "spectral_power_density");
     1175            e.addItem("Electric field", "efield");
     1176            e.addListener("changeSelection", function(ev) {
    12581177                    var dimension = this.gui_compare_dim.getSelectedValue();
    12591178                    this.gui_compare_units.update(dimension,
     
    12621181                    this.updateLegendListView();
    12631182                }, this);
    1264             rc.add(l, e);
     1183            rc.add(e);
    12651184            this.gui_compare_dim = e;
    1266 
    1267             l = new qx.legacy.ui.basic.Label("Units:");
     1185           
     1186            l = new qx.ui.basic.Label("Units:");
     1187            rc.add(l);
    12681188            e = new pf.UnitSelector();
    1269             e.addListener("changeSelected", function(ev) {
     1189            e.update("none");
     1190            e.addListener("changeSelection", function(ev) {
    12701191                    this.updateFavoritesListView();
    12711192                }, this);
    1272             rc.add(l, e);
     1193            rc.add(e);
    12731194            this.gui_compare_units = e;
    12741195
    1275             var lc =
    1276             {
    1277                 s_icon   : { label      : "",
    1278                              width      : 24,
    1279                              type       : "iconHtml",
    1280                              align      : "center",                   
    1281                              sortable   : false                         },
    1282                 name     : { label      : "Name",
    1283                              width      : 300,
    1284                              type       : "text",
    1285                              align      : "left",
    1286                              sortable   : true,
    1287                              sortProp   : "text"                        },
    1288                 section  : { label      : "Section",
    1289                              width      : 120,
    1290                              type       : "text",
    1291                              align      : "left",
    1292                              sortable   : true,
    1293                              sortProp   : "text"                        },
    1294                 value    : { label      : "Value",
    1295                              width      : 120,
    1296                              type       : "text",
    1297                              align      : "right",
    1298                              sortable   : true,
    1299                              sortProp   : "text",
    1300                              sortMethod : qx.legacy.util.Compare.byFloatString }
    1301             };
    1302 
    1303             var lv = new qx.legacy.ui.listview.ListView(new Array, lc);
    1304 
    1305             lv.setWidth("100%");
    1306             lv.setHeight("2*");
    1307             lv.setBackgroundColor("white");
    1308             lv.setBorder("dark-shadow");
     1196            // table model
     1197            var tm = new qx.ui.table.model.Simple();
     1198            tm.setColumns([ "", "Name", "Section", "Value" ]);
     1199           
     1200            tm.setColumnEditable(0, false);
     1201            tm.setColumnEditable(1, false);
     1202            tm.setColumnEditable(2, false);
     1203            tm.setColumnEditable(3, false);
     1204           
     1205            tm.setColumnSortable(0, false);
     1206           
     1207            tm.setSortMethods(3, function(row1, row2) {
     1208                var obj1 = parseFloat(row1[arguments.callee.columnIndex]);
     1209                var obj2 = parseFloat(row2[arguments.callee.columnIndex]);
     1210                return (obj1 > obj2) ? 1 : ((obj1 == obj2) ? 0 : -1);
     1211            });
     1212           
     1213            // table list
     1214            var lv = new qx.ui.table.Table(tm);
     1215
     1216            lv.setStatusBarVisible(false);
     1217            lv.setShowCellFocusIndicator(false);
     1218            lv.setColumnVisibilityButtonVisible(false);
     1219           
     1220            lv.setColumnWidth(0,  24);
     1221            lv.setColumnWidth(1, 300);
     1222            lv.setColumnWidth(2, 120);
     1223           
     1224            var renderer = new qx.ui.table.cellrenderer.Image(16, 16);
     1225            lv.getTableColumnModel().setDataCellRenderer(0, renderer);
    13091226
    13101227            bl.add(lv);
     
    13191236            canvas.setPrintable(true);
    13201237           
    1321             var pname = this.guiParameter.getValue();
     1238            var pname = this.guiParameter.getSelectedValue();
    13221239            var vmin = this.guiMinParam.getNumValue();
    13231240            var vmax = this.guiMaxParam.getNumValue();
     
    14801397           
    14811398            canvas.setViewportCoordinates(0.15, 0.1, 0.9, 0.9);
    1482             dwx = Math.abs(wxmax - wxmin);
     1399            var dwx = Math.abs(wxmax - wxmin);
    14831400            if (dwx == 0) {
    14841401                dwx = wxmax;
    14851402            }
    1486             dwy = Math.abs(wymax - wymin);
     1403            var dwy = Math.abs(wymax - wymin);
    14871404            if (dwy == 0) {
    14881405                wymin = 0.0;
     
    15341451        showWikiPage : function(entity)
    15351452        {
    1536             var url;
     1453            var url = "about:blank";
    15371454            if (entity && entity.wikiLink) {
    15381455                url = "http://en.wikipedia.org/w/index.php?title=" +
    15391456                      entity.wikiLink + "&printable=yes";
    1540             } else {
    1541                 url = null;
    15421457            }
    15431458           
     
    15481463        {
    15491464            var tree = this.entity_tree;
    1550             var leaf = tree.getSelectedElement();
     1465            var leaf = getSingleTreeSelectedItem(tree);
    15511466           
    15521467            if (!leaf) {
     
    15681483            var page_id = this.renderTabPage("Plot",
    15691484                "pf/image/tab-plot.png");
    1570 
    1571             var sp = new qx.legacy.ui.splitpane.HorizontalSplitPane("1*", 300);
    1572             sp.set(
    1573             {
    1574                 height          : "100%",
    1575                 width           : "100%",
    1576                 left            : 1,
    1577                 right           : 1,
    1578                 top             : 1,
    1579                 bottom          : 1,
    1580                 border          : "inset-thin",
    1581                 showKnob        : true
     1485            page_id.setLayout(new qx.ui.layout.VBox);
     1486
     1487            var sp = new qx.ui.splitpane.Pane("horizontal");
     1488            page_id.add(sp, {height: "100%"});
     1489                       
     1490            var left_pane = new qx.ui.container.Composite(new qx.ui.layout.Grow).set({
     1491              width: 470,
     1492              decorator : "main"
    15821493            });
    1583             page_id.add(sp);
    1584                        
    1585             var left_pane  = sp.getLeftArea();
    1586             left_pane.setBackgroundColor("white");
    1587             left_pane.setBorder("inset-thin");
    1588             var right_pane = sp.getRightArea();
    1589             right_pane.setBackgroundColor("white");
    1590             right_pane.setBorder("inset-thin");
    1591 
     1494            var right_pane = new qx.ui.container.Composite(new qx.ui.layout.VBox(4)).set({
     1495              padding : 4,
     1496              decorator : "main"
     1497            });
     1498
     1499            sp.add(left_pane,  0);
     1500            sp.add(right_pane, 1);
     1501           
    15921502            var canvas = new pf.ui.canvas.Plotter();
    1593             canvas.set(
    1594             {
    1595                 height          : "100%",
    1596                 width           : "100%"
    1597             });
    15981503            left_pane.add(canvas);
    15991504            this.canvas = canvas;
    16001505
    1601 
    1602             var vbl = new qx.legacy.ui.layout.VerticalBoxLayout("vertical");
    1603             vbl.set(
    1604             {
    1605                 height          : "100%",
    1606                 width           : "100%",
    1607                 padding         : 4,
    1608                 spacing         : 10
    1609             });
    1610             right_pane.add(vbl);
    1611 
    1612             var gl = new qx.legacy.ui.layout.GridLayout;
    1613             gl.set(
    1614             {
    1615                 height            : "auto",
    1616                 width             : "100%",
    1617                 left              : 4,
    1618                 right             : 4,
    1619                 top               : 4,
    1620                 verticalSpacing   : 4,
    1621                 verticalSpacing   : 4,
    1622                 horizontalSpacing : 6
    1623             });
    1624            
    1625             gl.setColumnCount(2);
    1626             gl.setColumnWidth(0, 150);
    1627             gl.setColumnWidth(1, 100);
    1628             gl.setRowCount(5);
    1629             gl.setRowHeight(0, 30);
    1630             gl.setRowHeight(1, 30);
    1631             gl.setRowHeight(2, 30);
    1632             gl.setRowHeight(3, 30);
    1633             gl.setRowHeight(4, 30);
    1634             vbl.add(gl);
     1506            var layout = new qx.ui.layout.Grid(4, 6);
     1507            var gl = new qx.ui.container.Composite(layout);
    16351508
    16361509            var l, e;
    16371510
    1638             var btn = new qx.legacy.ui.form.Button("Redraw", "pf/image/tab-plot.png");
     1511            var btn = new qx.ui.form.Button("Redraw", "pf/image/tab-plot.png");
    16391512            btn.addListener("execute", this.drawCB, this);
    1640             gl.add(btn, 0, 0);
    1641 
    1642             l = new qx.legacy.ui.basic.Label("Parameter to vary:");
    1643             e = new pf.ui.ComboBox;
    1644             e.add(new qx.legacy.ui.form.ListItem("N_e",   null, "N_e"));
    1645             e.add(new qx.legacy.ui.form.ListItem("T",     null, "T"));
    1646             e.add(new qx.legacy.ui.form.ListItem("T_e",   null, "T_e"));
    1647             e.add(new qx.legacy.ui.form.ListItem("T_i",   null, "T_i"));
    1648             e.add(new qx.legacy.ui.form.ListItem("T_r",   null, "T_r"));
    1649             e.add(new qx.legacy.ui.form.ListItem("T_i,r", null, "T_i,r"));
    1650             e.add(new qx.legacy.ui.form.ListItem("B",     null, "B"));
     1513            gl.add(btn, {row: 0, column: 0});
     1514
     1515            l = new qx.ui.basic.Label("Parameter to vary:");
     1516            e = new pf.ui.SelectBox;
     1517            e.addItem("N_e",   "N_e");
     1518            e.addItem("T",     "T");
     1519            e.addItem("T_e",   "T_e");
     1520            e.addItem("T_i",   "T_i");
     1521            e.addItem("T_r",   "T_r");
     1522            e.addItem("T_i,r", "T_i,r");
     1523            e.addItem("B",     "B");
    16511524            e.selectByValue("N_e");
    16521525            this.guiParameter = e;
    1653             gl.add(l, 0, 1);
    1654             gl.add(e, 1, 1);
    1655 
    1656             l = new qx.legacy.ui.basic.Label("Minimum scale:");
     1526            gl.add(l, {row: 1, column: 0});
     1527            gl.add(e, {row: 1, column: 1});
     1528
     1529            l = new qx.ui.basic.Label("Minimum scale:");
    16571530            e = new pf.ui.TextField(0.5);
    16581531            this.guiMinParam = e;
    1659             gl.add(l, 0, 2);
    1660             gl.add(e, 1, 2);
    1661 
    1662             l = new qx.legacy.ui.basic.Label("Maximum scale:");
     1532            gl.add(l, {row: 2, column: 0});
     1533            gl.add(e, {row: 2, column: 1});
     1534
     1535            l = new qx.ui.basic.Label("Maximum scale:");
    16631536            e = new pf.ui.TextField(2.0);
    16641537            this.guiMaxParam = e;
    1665             gl.add(l, 0, 3);
    1666             gl.add(e, 1, 3);
    1667 
    1668             l = new qx.legacy.ui.basic.Label("Number of points:");
    1669             e = new pf.ui.Spinner(2, 20, 100);
     1538            gl.add(l, {row: 3, column: 0});
     1539            gl.add(e, {row: 3, column: 1});
     1540
     1541            l = new qx.ui.basic.Label("Number of points:");
     1542            e = new qx.ui.form.Spinner(2, 20, 100);
    16701543            this.guiParamPoints = e;
    1671             gl.add(l, 0, 4);
    1672             gl.add(e, 1, 4);
    1673 
    1674 
    1675             var lc =
    1676             {
    1677                 s_icon   : { label      : "",
    1678                              width      : 24,
    1679                              type       : "iconHtml",
    1680                              align      : "center",                   
    1681                              sortable   : false                         },
    1682                 name     : { label      : "Name",
    1683                              width      : 185,
    1684                              type       : "text",
    1685                              align      : "left",
    1686                              sortable   : true,
    1687                              sortProp   : "text"                        },
    1688                 color    : { label      : "Color",
    1689                              width      : 55,
    1690                              type       : "text",
    1691                              align      : "left",
    1692                              sortable   : false                         }
    1693             };
    1694 
    1695             var lv = new qx.legacy.ui.listview.ListView(new Array, lc);
    1696 
    1697             lv.setWidth("100%");
    1698             lv.setHeight("2*");
    1699             // lv.setBackgroundColor("white");
    1700             lv.setBorder("dark-shadow");
     1544            gl.add(l, {row: 4, column: 0});
     1545            gl.add(e, {row: 4, column: 1});
     1546
     1547            right_pane.add(gl);
     1548
     1549
     1550
     1551            var tm = new qx.ui.table.model.Simple();
     1552            tm.setColumns(["", "Name", "Color", ""],
     1553                          ["icon", "name", "color", "favorite"]);
     1554           
     1555            tm.setColumnEditable(0, false);
     1556            tm.setColumnEditable(1, false);
     1557            tm.setColumnEditable(2, false);
     1558           
     1559            tm.setColumnSortable(1, false);
     1560           
     1561            // table list
     1562            var lv = new qx.ui.table.Table(tm);
     1563            lv.set({
     1564                height: 310
     1565            });
     1566
     1567            var cm = lv.getTableColumnModel();
     1568            cm.setColumnVisible(3, false);
     1569           
     1570            lv.setStatusBarVisible(false);
     1571            lv.setShowCellFocusIndicator(false);
     1572            lv.setColumnVisibilityButtonVisible(false);
     1573           
     1574            lv.setColumnWidth(0,  24);
     1575            lv.setColumnWidth(1, 185);
     1576            lv.setColumnWidth(2,  55);
     1577           
     1578            var renderer = new qx.ui.table.cellrenderer.Image(16, 16);
     1579            lv.getTableColumnModel().setDataCellRenderer(0, renderer);
     1580
     1581            right_pane.add(lv);
     1582            this.legendListView = lv;
     1583           
     1584            var sm = lv.getSelectionModel();
    17011585           
    17021586            lv.addListener("dblclick", function(ev) {
    17031587                    ev.stopPropagation();
    1704                     var pane = this.getPane();
    1705                     var item = pane.getSelectedItem();
    1706                     if (!item) {
     1588
     1589                    if (sm.isSelectionEmpty()) {
    17071590                        return;
    17081591                    }
     1592                   
     1593                    var index = sm.getLeadSelectionIndex();
     1594                    var item = tm.getRowDataAsMap(index);
     1595
    17091596                    var favorite = item.favorite;
    17101597                    if (!favorite) {
    17111598                        return;
    17121599                    }
    1713                     mypop.setUserData("favorite", null); // avoid loop call
    1714                     mypop.setValue(favorite.color);
    1715                     mypop.setUserData("favorite", favorite);
    1716                     var el = this.getElement();
    1717                     mypop.setTop(qx.legacy.html.Location.getPageBoxTop(el));
    1718                     mypop.setLeft(qx.legacy.html.Location.getPageBoxLeft(el) -
    1719                         this.getWidthValue());
    1720                     mypop.show();
     1600                    cpop.setUserData("favorite", null); // avoid loop call
     1601                    cpop.setValue(favorite.color);
     1602                    cpop.setUserData("favorite", favorite);
     1603                   
     1604                    cpop.placeToMouse(ev);
     1605                    cpop.open();
    17211606                });
    17221607
    1723             vbl.add(lv);
    1724             this.legendListView = lv;
    1725            
    1726             var mytables =
    1727             {
    1728               core : {
    1729                 label : "Basic Colors",
    1730                 values : this.colorMap
    1731               },
    1732 
    1733               recent : {
    1734                 label : "Recent Colors",
    1735                 values : [ ]
    1736               }
    1737             }
    1738 
    1739             var mypop = new qx.legacy.ui.component.ColorPopup(mytables);
    1740             // A hack
    1741             mypop._layout.remove(mypop._automaticBtn);
    1742 
    1743             mypop.addToDocument();
    1744 
    1745             mypop.addListener("changeValue", function(ev) {
    1746                 var color = ev.getValue();
    1747                 var mypop = ev.getTarget();
    1748                 var favorite = mypop.getUserData("favorite");
    1749                 if (!favorite || !color) {
    1750                     return;
    1751                 }
    1752                 favorite.color = color;
    1753                 this.updateLegendListView();
    1754                 this.drawAll();
    1755             }, this);
    1756    
     1608            var cpop = new pf.ui.ColorPopup(this.colorMap);
     1609            cpop.exclude();
     1610
     1611            this.doc.add(cpop);
     1612
     1613            cpop.addListener("changeValue", function(ev) {
     1614                    var color = ev.getData();
     1615                    var cpop = ev.getTarget();
     1616                    var favorite = cpop.getUserData("favorite");
     1617                    if (!favorite || !color) {
     1618                        return;
     1619                    }
     1620                    favorite.color = color;
     1621                    this.updateLegendListView();
     1622                    this.drawAll();
     1623                }, this);
    17571624        },
    17581625
     
    17711638        {
    17721639            var lv = this.saveLoadConfigList;
     1640            var tm = lv.getTableModel();
     1641           
    17731642            var configPtrs = this.prefs.configPtrs;
    17741643           
    1775             var rowData = lv.getData();
    1776             rowData.length = 0;
    1777             lv.getPane().getManager().deselectAll();
     1644            var rowData = new Array();
    17781645
    17791646            var i;
     
    17861653                d.setTime(configPtr.time);
    17871654
    1788                 rowData.push({ name : {text       : configPtr.name },
    1789                                date : {text       : df.format(d)   }
    1790                              });
    1791             }
    1792            
    1793             lv.updateSort();
    1794             lv.update();
     1655                rowData.push([configPtr.name, df.format(d)]);
     1656            }
     1657           
     1658            tm.setData(rowData, false);
     1659            var sidx = tm.getSortColumnIndex();
     1660            tm.sortByColumn(sidx, tm.isSortAscending());
     1661           
     1662            lv.updateContent();
    17951663        },
    17961664       
     
    18431711            var submenu, btn, q;
    18441712
    1845             var theme = qx.legacy.theme.manager.Color.getInstance().getColorTheme();
    1846             var bg = '#' +
    1847                 qx.util.ColorUtil.rgbToHexString(theme.colors['button']);
    1848            
    1849             submenu = new qx.legacy.ui.menu.Menu;
    1850             submenu.setBackgroundColor(bg);
     1713            submenu = new qx.ui.menu.Menu;
    18511714            this.doc.add(submenu);
    1852             q = new qx.event.Command("Ctrl+O");
     1715            q = new qx.ui.core.Command("Ctrl+O");
    18531716            q.addListener("execute", this.openCB, this);
    1854             btn = new qx.legacy.ui.menu.Button("Open...", "pf/image/open.png", q);
     1717            btn = new qx.ui.menu.Button("Open...", "pf/image/open.png", q);
    18551718            submenu.add(btn);
    1856             q = new qx.event.Command("Ctrl+S");
     1719            q = new qx.ui.core.Command("Ctrl+S");
    18571720            q.addListener("execute", this.saveConfigCB, this);
    1858             btn = new qx.legacy.ui.menu.Button("Save", "pf/image/save.png", q);
     1721            btn = new qx.ui.menu.Button("Save", "pf/image/save.png", q);
    18591722            submenu.add(btn);
    1860             btn = new qx.legacy.ui.menu.Button("Save as...", "pf/image/save.png");
     1723            btn = new qx.ui.menu.Button("Save as...", "pf/image/save.png");
    18611724            btn.addListener("execute", this.saveAsCB, this);
    18621725            submenu.add(btn);
    1863             submenu.add(new qx.legacy.ui.menu.Separator);
    1864             q = new qx.event.Command("Ctrl+P");
     1726            submenu.add(new qx.ui.menu.Separator);
     1727            q = new qx.ui.core.Command("Ctrl+P");
    18651728            q.addListener("execute", function(ev) {
    18661729                window.print();
    18671730            });
    1868             btn = new qx.legacy.ui.menu.Button("Print...", "pf/image/print.png", q);
     1731            btn = new qx.ui.menu.Button("Print...", "pf/image/print.png", q);
    18691732            submenu.add(btn);
    1870             submenu.add(new qx.legacy.ui.menu.Separator);
    1871             q = new qx.event.Command("Ctrl+R");
     1733            submenu.add(new qx.ui.menu.Separator);
     1734            q = new qx.ui.core.Command("Ctrl+R");
    18721735            q.addListener("execute", function(ev) {
    18731736                    if (!this.prefs.warnOnExit ||
     
    18771740                    }
    18781741                }, this);
    1879             btn = new qx.legacy.ui.menu.Button("Restart", "pf/image/reset.png", q);
     1742            btn = new qx.ui.menu.Button("Restart", "pf/image/reset.png", q);
    18801743            submenu.add(btn);
    1881             submenu.add(new qx.legacy.ui.menu.Separator);
    1882             q = new qx.event.Command("Ctrl+Q");
     1744            submenu.add(new qx.ui.menu.Separator);
     1745            q = new qx.ui.core.Command("Ctrl+Q");
    18831746            q.addListener("execute", function(ev) {
    18841747                    if (!this.prefs.warnOnExit ||
     
    18881751                    }
    18891752                }, this);
    1890             btn = new qx.legacy.ui.menu.Button("Quit", "pf/image/exit.png", q);
     1753            btn = new qx.ui.menu.Button("Quit", "pf/image/exit.png", q);
    18911754            submenu.add(btn);
    18921755               
    1893             btn = new qx.legacy.ui.menubar.Button("File", submenu);
    1894             btn.set({ paddingLeft : 7, paddingRight : 7 });
     1756            btn = new qx.ui.menubar.Button("File", null, submenu);
    18951757            menubar.add(btn);
    18961758
    18971759
    1898             submenu = new qx.legacy.ui.menu.Menu;
    1899             submenu.setBackgroundColor(bg);
    1900             submenu.addListener("beforeAppear", editMenuCB, this);
     1760            submenu = new qx.ui.menu.Menu;
     1761            submenu.addListener("appear", editMenuCB, this);
    19011762            this.doc.add(submenu);
    1902             btn = new qx.legacy.ui.menu.Button("Add to Favorites",
     1763            btn = new qx.ui.menu.Button("Add to Favorites",
    19031764                "pf/image/favorite-add.png");
    19041765            btn.addListener("execute", addToFavCB, this);
    19051766            this.editMenuButtonAddToFav = btn;
    19061767            submenu.add(btn);
    1907             btn = new qx.legacy.ui.menu.Button("Remove from Favorites",
     1768            btn = new qx.ui.menu.Button("Remove from Favorites",
    19081769                "pf/image/favorite-delete.png");
    19091770            btn.addListener("execute", removeFromFavCB, this);
    19101771            this.editMenuButtonRemFromFav = btn;
    19111772            submenu.add(btn);
    1912             submenu.add(new qx.legacy.ui.menu.Separator);
    1913             btn = new qx.legacy.ui.menu.Button("Preferences",
     1773            submenu.add(new qx.ui.menu.Separator);
     1774            btn = new qx.ui.menu.Button("Preferences",
    19141775                "pf/image/preferences.png");
    19151776            btn.addListener("execute", this.prefsCB, this);
    19161777            submenu.add(btn);
    19171778
    1918             btn = new qx.legacy.ui.menubar.Button("Edit", submenu);
    1919             btn.set({ paddingLeft : 7, paddingRight : 7 });
     1779            btn = new qx.ui.menubar.Button("Edit", null, submenu);
    19201780            menubar.add(btn);
    19211781
    19221782
    1923             submenu = new qx.legacy.ui.menu.Menu;
    1924             submenu.setBackgroundColor(bg);
    1925             submenu.addListener("beforeAppear", viewMenuCB, this);
    1926 
    1927             var subMenu1 = new qx.legacy.ui.menu.Menu;
    1928             subMenu1.setBackgroundColor(bg);
    1929             button = new qx.legacy.ui.menu.CheckBox("Fundamental",
    1930                 null, this.showFundamental);
    1931             button.addListener("execute", showFundamentalCB, this);
    1932             subMenu1.add(button);
    1933             button = new qx.legacy.ui.menu.CheckBox("Spectroscopy",
    1934                 null, this.showSpectroscopy);
    1935             button.addListener("execute", showSpectroscopyCB, this);
    1936             subMenu1.add(button);
    1937             button = new qx.legacy.ui.menu.CheckBox("Waves",
    1938                 null, this.showWaves);
    1939             button.addListener("execute", showWavesCB, this);
    1940             subMenu1.add(button);
    1941             button = new qx.legacy.ui.menu.CheckBox("Collisions",
    1942                 null, this.showCollisions);
    1943             button.addListener("execute", showCollisionsCB, this);
    1944             subMenu1.add(button);
    1945             this.showSectionsButton = new qx.legacy.ui.menu.Button("Show Sections",
     1783            submenu = new qx.ui.menu.Menu;
     1784            submenu.addListener("appear", viewMenuCB, this);
     1785
     1786            var subMenu1 = new qx.ui.menu.Menu;
     1787            btn = new qx.ui.menu.CheckBox("Fundamental");
     1788            btn.setValue(this.showFundamental);
     1789            btn.addListener("execute", showFundamentalCB, this);
     1790            subMenu1.add(btn);
     1791            btn = new qx.ui.menu.CheckBox("Spectroscopy");
     1792            btn.setValue(this.showSpectroscopy);
     1793            btn.addListener("execute", showSpectroscopyCB, this);
     1794            subMenu1.add(btn);
     1795            btn = new qx.ui.menu.CheckBox("Waves");
     1796            btn.setValue(this.showWaves);
     1797            btn.addListener("execute", showWavesCB, this);
     1798            subMenu1.add(btn);
     1799            btn = new qx.ui.menu.CheckBox("Collisions");
     1800            btn.setValue(this.showCollisions);
     1801            btn.addListener("execute", showCollisionsCB, this);
     1802            subMenu1.add(btn);
     1803            this.showSectionsButton = new qx.ui.menu.Button("Show Sections",
    19461804                null, null, subMenu1);
    19471805            submenu.add(this.showSectionsButton);
    19481806           
    1949             submenu.add(new qx.legacy.ui.menu.Separator);
    1950 
    1951             var subMenu2 = new qx.legacy.ui.menu.Menu;
    1952             subMenu2.setBackgroundColor(bg);
    1953             button = new qx.legacy.ui.menu.CheckBox("Electrons",
    1954                 null, this.showElectrons)
    1955             button.addListener("execute", showElectronsCB, this);
    1956             subMenu2.add(button);
    1957             button = new qx.legacy.ui.menu.CheckBox("Ions",
    1958                 null, this.showIons)
    1959             button.addListener("execute", showIonsCB, this);
    1960             subMenu2.add(button);
    1961             button = new qx.legacy.ui.menu.CheckBox("Radiators",
    1962                 null, this.showRadiators)
    1963             button.addListener("execute", showRadiatorsCB, this);
    1964             subMenu2.add(button);
    1965             this.showSpeciesButton = new qx.legacy.ui.menu.Button("Show Species",
     1807            submenu.add(new qx.ui.menu.Separator);
     1808
     1809            var subMenu2 = new qx.ui.menu.Menu;
     1810            btn = new qx.ui.menu.CheckBox("Electrons");
     1811            btn.setValue(this.showElectrons);
     1812            btn.addListener("execute", showElectronsCB, this);
     1813            subMenu2.add(btn);
     1814            btn = new qx.ui.menu.CheckBox("Ions");
     1815            btn.setValue(this.showIons);
     1816            btn.addListener("execute", showIonsCB, this);
     1817            subMenu2.add(btn);
     1818            btn = new qx.ui.menu.CheckBox("Radiators");
     1819            btn.setValue(this.showRadiators);
     1820            btn.addListener("execute", showRadiatorsCB, this);
     1821            subMenu2.add(btn);
     1822            this.showSpeciesButton = new qx.ui.menu.Button("Show Species",
    19661823                null, null, subMenu2);
    19671824            submenu.add(this.showSpeciesButton);
    19681825           
    1969             submenu.add(new qx.legacy.ui.menu.Separator);
    1970             q = new qx.event.Command("Ctrl+W");
     1826            submenu.add(new qx.ui.menu.Separator);
     1827            q = new qx.ui.core.Command("Ctrl+W");
    19711828            q.addListener("execute", this.loadWikiCB, this);
    1972             btn = new qx.legacy.ui.menu.Button("Load Wikipedia Article",
     1829            btn = new qx.ui.menu.Button("Load Wikipedia Article",
    19731830                "pf/image/wikipedia.png", q);
    19741831            submenu.add(btn);
    19751832            this.loadWikiButton = btn;
    1976             this.doc.add(submenu, subMenu1, subMenu2);
    1977 
    1978             submenu.add(new qx.legacy.ui.menu.Separator);
    1979             q = new qx.event.Command("Ctrl+L");
     1833            this.doc.add(submenu);
     1834            this.doc.add(subMenu1);
     1835            this.doc.add(subMenu2);
     1836
     1837            submenu.add(new qx.ui.menu.Separator);
     1838            q = new qx.ui.core.Command("Ctrl+L");
    19801839            q.addListener("execute", this.drawCB, this);
    1981             btn = new qx.legacy.ui.menu.Button("Redraw Plot",
     1840            btn = new qx.ui.menu.Button("Redraw Plot",
    19821841                "pf/image/tab-plot.png", q);
    19831842            submenu.add(btn);
    19841843            this.redrawButton = btn;
    19851844           
    1986             btn = new qx.legacy.ui.menubar.Button("View", submenu);
    1987             btn.set({ paddingLeft : 7, paddingRight : 7 });
     1845           
     1846            btn = new qx.ui.menubar.Button("View", null, submenu);
    19881847            menubar.add(btn);
    19891848
    19901849
    1991             submenu = new qx.legacy.ui.menu.Menu;
    1992             submenu.setBackgroundColor(bg);
     1850            var nvOptions = {
     1851                width: 800,
     1852                height: 600,
     1853                scrollbars : true,
     1854                resizable : true,
     1855                menubar : false,
     1856                status : false
     1857            };
     1858            submenu = new qx.ui.menu.Menu;
    19931859            this.doc.add(submenu);
    1994             q = new qx.event.Command("F1");
     1860            q = new qx.ui.core.Command("F1");
    19951861            q.addListener("execute", function(ev) {
    19961862                alert("Help system not implemented yet");
    19971863            });
    1998             btn = new qx.legacy.ui.menu.Button("Help Contents",
     1864            btn = new qx.ui.menu.Button("Help Contents",
    19991865                "pf/image/help.png", q);
    20001866            submenu.add(btn);
    2001             btn = new qx.legacy.ui.menu.Button("NRL Plasma Formulary",
     1867            btn = new qx.ui.menu.Button("NRL Plasma Formulary",
    20021868                "pf/image/nrl.png");
    20031869            btn.addListener("execute", function (ev) {
    2004                     var w = new qx.legacy.util.NativeWindow("http://wwwppd.nrl.navy.mil/nrlformulary/");
    2005                     w.setDimension(800, 600);
    2006                     w.open();
     1870                    var url = "http://wwwppd.nrl.navy.mil/nrlformulary/";
     1871                    var w = qx.bom.Window.open(url, null, nvOptions);
    20071872                }, this);
    20081873            submenu.add(btn);
    2009             btn = new qx.legacy.ui.menu.Button("Plasma at Wikipedia",
     1874            btn = new qx.ui.menu.Button("Plasma at Wikipedia",
    20101875                "pf/image/wikipedia.png");
    20111876            btn.addListener("execute", function (ev) {
    2012                     var w = new qx.legacy.util.NativeWindow("http://en.wikipedia.org/wiki/Plasma_%28physics%29");
    2013                     w.setDimension(800, 600);
    2014                     w.open();
     1877                    var url = "http://en.wikipedia.org/wiki/Plasma_%28physics%29";
     1878                    var w = qx.bom.Window.open(url, null, nvOptions);
    20151879                }, this);
    20161880            submenu.add(btn);
    2017             submenu.add(new qx.legacy.ui.menu.Separator);
    2018             btn = new qx.legacy.ui.menu.Button("License Terms",
     1881            submenu.add(new qx.ui.menu.Separator);
     1882            btn = new qx.ui.menu.Button("License Terms",
    20191883                "pf/image/gnu.png");
    20201884            btn.addListener("execute", function (ev) {
    2021                     var w = new qx.legacy.util.NativeWindow("resource/pf/html/GPL.html");
    2022                     w.setDimension(800, 600);
    2023                     w.open();
     1885                    var url = "resource/pf/html/GPL.html";
     1886                    var w = qx.bom.Window.open(url, null, nvOptions);
    20241887                }, this);
    20251888            submenu.add(btn);
    2026             btn = new qx.legacy.ui.menu.Button("About...",
     1889            btn = new qx.ui.menu.Button("About...",
    20271890                "pf/image/about.png");
    20281891            btn.addListener("execute", this.aboutCB, this);
    20291892            submenu.add(btn);
    20301893
    2031             btn = new qx.legacy.ui.menubar.Button("Help", submenu);
    2032             btn.set({ paddingLeft : 7, paddingRight : 7 });
     1894            btn = new qx.ui.menubar.Button("Help", null, submenu);
    20331895            menubar.add(btn);
    20341896        },
     
    20491911            var dims = new Object;
    20501912           
    2051             dims.w = qx.legacy.html.Window.getInnerWidth(this.win);
    2052             dims.h = qx.legacy.html.Window.getInnerHeight(this.win);
     1913            dims.w = qx.bom.Element.Dimension.getWidth(this.win);
     1914            dims.h = qx.bom.Element.Dimension.getHeight(this.win);
    20531915           
    20541916            return dims;
     
    20681930           
    20691931            if (prefstr) {
    2070                 this.prefs = qx.util.Json.parseQx(prefstr);
     1932                this.prefs = qx.util.Json.parse(prefstr);
    20711933            }
    20721934           
     
    21872049            }
    21882050
    2189             var config = qx.util.Json.parseQx(configstr);
     2051            var config = qx.util.Json.parse(configstr);
    21902052           
    21912053            if (config) {
     
    22372099        createSaveLoadDialog : function()
    22382100        {
    2239             var w, rc, rc1, e, btn;
     2101            var w, rc1, e, btn;
    22402102            // "Save as..." dialog
    2241             w = new qx.legacy.ui.window.Window();
    2242             w.setSpace(200, "auto", 100, 300);
     2103            w = new qx.ui.window.Window();
     2104            w.setLayout(new qx.ui.layout.VBox(10));
    22432105            w.setModal(true);
    22442106            w.setShowMinimize(false);
     
    22502112                    }
    22512113                });
    2252 
    2253             rc = new qx.legacy.ui.layout.VerticalBoxLayout("vertical");
    2254             rc.set({width : "100%", height : "100%", spacing : 4});
    2255             w.add(rc);
    2256            
    2257             var tb = new qx.legacy.ui.toolbar.ToolBar();
    2258             var btn_delete = new qx.legacy.ui.toolbar.Button("Delete",
     2114               
     2115            this.doc.add(w, {left: 200, top: 100});
     2116            this.saveLoadWindow = w;
     2117
     2118            var tb = new qx.ui.toolbar.ToolBar();
     2119            var btn_delete = new qx.ui.toolbar.Button("Delete",
    22592120                "pf/image/delete.png");
    2260             var btn_rename = new qx.legacy.ui.toolbar.Button("Rename",
     2121            var btn_rename = new qx.ui.toolbar.Button("Rename",
    22612122                "pf/image/rename.png");
    22622123            btn_delete.setEnabled(false);
    22632124            btn_rename.setEnabled(false);
    2264             var sep = new qx.legacy.ui.toolbar.Separator();
    2265             tb.add(sep, btn_delete, btn_rename);
    2266             rc.add(tb);
    2267            
    2268             var lc =
    2269             {
    2270                 name     : { label      : "Configuration",
    2271                              width      : 250,
    2272                              type       : "text",
    2273                              align      : "left",
    2274                              sortable   : true,
    2275                              sortProp   : "text"  },
    2276                 date     : { label      : "Last Modified",
    2277                              width      : 180,
    2278                              type       : "text",
    2279                              align      : "right",
    2280                              sortable   : true   }
    2281             };
    2282 
    2283             var lv = new qx.legacy.ui.listview.ListView(new Array, lc);
    2284 
    2285             lv.setWidth("100%");
    2286             lv.setBorder("dark-shadow");
    2287             lv.setHeight("2*");
    2288 
     2125            var sep = new qx.ui.toolbar.Separator();
     2126            tb.add(sep);
     2127            tb.add(btn_delete);
     2128            tb.add(btn_rename);
     2129            w.add(tb);
     2130
     2131            // table model
     2132            var tm = new qx.ui.table.model.Simple();
     2133            tm.setColumns([ "Configuration", "Last Modified" ]);
     2134           
     2135            tm.setColumnEditable(0, false);
     2136            tm.setColumnEditable(1, false);
     2137           
     2138            // table list
     2139            var lv = new qx.ui.table.Table(tm);
     2140            lv.set({
     2141                height: 250
     2142            });
     2143
     2144            lv.setStatusBarVisible(false);
     2145            lv.setShowCellFocusIndicator(false);
     2146            lv.setColumnVisibilityButtonVisible(false);
     2147           
     2148            lv.setColumnWidth(0, 250);
     2149            lv.setColumnWidth(1, 180);
     2150           
    22892151            this.saveLoadConfigList = lv;
    2290             rc.add(lv);
     2152            w.add(lv);
     2153
     2154            var sm = lv.getSelectionModel();
     2155            sm.setSelectionMode(qx.ui.table.selection.Model.SINGLE_SELECTION);
    22912156
    22922157            btn_delete.addListener("execute", function(ev) {
    2293                     var pane = lv.getPane();
    2294                     var item = pane.getSelectedItem();
    2295                     if (item && confirm("Delete \"" + item.name.text + "\"?")) {
    2296                         this.removeConfig(item.name.text);
     2158                    if (!sm.isSelectionEmpty() &&
     2159                        confirm("Delete \"" + rowData[0] + "\"?")) {
     2160                        var index = sm.getLeadSelectionIndex();
     2161                        var rowData = tm.getRowData(index);
     2162                        this.removeConfig(rowData[0]);
    22972163                        this.updateSaveLoadList();
    22982164                    }
     
    23002166
    23012167            btn_rename.addListener("execute", function(ev) {
    2302                     var pane = lv.getPane();
    2303                     var item = pane.getSelectedItem();
    2304                     if (item) {
    2305                         var name = item.name.text;
     2168                    if (!sm.isSelectionEmpty()) {
     2169                        var index = sm.getLeadSelectionIndex();
     2170                        var rowData = tm.getRowData(index);
     2171                        var name = rowData[0];
    23062172                        var newname = prompt("Rename \"" + name + "\" to", name);
    23072173                        if (newname && newname != name) {
     
    23122178                                this.gui_configName.setLabel(newname);
    23132179                            }
     2180                            this.saveLoadTextField.setValue(newname);
    23142181                        }
    23152182                    }
    23162183                }, this);
    23172184
    2318             e = new pf.ui.TextField();
    2319             e.setWidth("100%");
    2320             rc.add(e);
    2321            
     2185            e = new qx.ui.form.TextField();
     2186            w.add(e);
    23222187            this.saveLoadTextField = e;
    2323 
    2324             var sm = lv.getPane().getManager();
    2325             sm.setMultiSelection(false);
     2188           
    23262189            sm.addListener("changeSelection", function(ev) {
    2327                     var item = this.getSelectedItem();
    2328                     if (!item) {
     2190                    if (sm.isSelectionEmpty()) {
    23292191                        e.setValue(null);
    23302192                        btn_delete.setEnabled(false);
    23312193                        btn_rename.setEnabled(false);
    23322194                    } else {
    2333                         e.setValue(item.name.text);
     2195                        var index = sm.getLeadSelectionIndex();
     2196                        var rowData = tm.getRowData(index);
     2197                        e.setValue(rowData[0]);
    23342198                        btn_rename.setEnabled(true);
    23352199                        btn_delete.setEnabled(true);
     
    23372201                });
    23382202           
    2339 
    2340             rc1 = new qx.legacy.ui.layout.HorizontalBoxLayout("horizontal");
    2341             rc1.set({width                   : "100%",
    2342                      height                  : "auto",
    2343                      horizontalChildrenAlign : "right",
    2344                      verticalChildrenAlign   : "bottom"});
    2345             rc.add(rc1);
    2346 
    2347             btn = new qx.legacy.ui.form.Button("Cancel",
     2203            rc1 = new qx.ui.container.Composite(new qx.ui.layout.HBox(1));
     2204            w.add(rc1);
     2205
     2206            btn = new qx.ui.form.Button("Cancel",
    23482207                "pf/image/cancel.png");
    23492208            btn.addListener("execute", function(ev) {
     
    23522211            rc1.add(btn);
    23532212
    2354             btn = new qx.legacy.ui.form.Button("OK",
     2213            btn = new qx.ui.form.Button("OK",
    23552214                "pf/image/ok.png");
    23562215            btn.addListener("execute", function(ev) {
     
    23872246                    btn.setEnabled(null != name && name.length != 0);
    23882247                });
    2389                
    2390             this.doc.add(w);
    2391             this.saveLoadWindow = w;
    23922248        },
    23932249
     
    23962252            var w;
    23972253            // "Preferences..." dialog
    2398             w = new qx.legacy.ui.window.Window("Preferences",
     2254            w = new qx.ui.window.Window("Preferences",
    23992255                "pf/image/preferences.png");
    2400             w.setSpace(200, "auto", 100, "auto");
     2256            w.setLayout(new qx.ui.layout.VBox(10));
     2257
    24012258            w.setModal(true);
    24022259            w.setShowMinimize(false);
    24032260            w.setShowMaximize(false);
    24042261
    2405             var vbl = new qx.legacy.ui.layout.VerticalBoxLayout("vertical");
    2406             vbl.setStretchChildrenOrthogonalAxis(false);
    2407             w.add(vbl);
     2262            w.addListener("keypress", function(ev) {
     2263                    if (ev.getKeyIdentifier() == "Escape") {
     2264                        w.close()
     2265                    }
     2266                });
    24082267           
    24092268            var fr1, fr2, rc, l, e;
    24102269           
    2411             fr1 = new qx.legacy.ui.groupbox.GroupBox("Default units");
    2412             fr1.setDimension("auto", "auto");
    2413             vbl.add(fr1);
    2414            
    2415             rc = new qx.legacy.ui.layout.HorizontalBoxLayout;
    2416             rc.setWidth("100%");
    2417             rc.setHeight("auto");
    2418             rc.setSpacing(10);
     2270            fr1 = new qx.ui.groupbox.GroupBox("Default units");
     2271            fr1.setLayout(new qx.ui.layout.VBox());
     2272            w.add(fr1);
     2273           
     2274            rc = new qx.ui.container.Composite(new qx.ui.layout.HBox(10));
    24192275            fr1.add(rc);
    24202276
    2421             l = new qx.legacy.ui.basic.Label("Dimension:");
    2422             e = new pf.ui.ComboBox;
    2423             e.add(new qx.legacy.ui.form.ListItem("Frequency", null, "frequency"));
    2424             e.add(new qx.legacy.ui.form.ListItem("Length", null, "length"));
    2425             e.add(new qx.legacy.ui.form.ListItem("Velocity", null, "velocity"));
    2426             e.add(new qx.legacy.ui.form.ListItem("Energy", null, "energy"));
    2427             e.add(new qx.legacy.ui.form.ListItem("Pressure", null, "pressure"));
    2428             e.add(new qx.legacy.ui.form.ListItem("Area", null, "area"));
    2429             e.add(new qx.legacy.ui.form.ListItem("Power density", null, "power_density"));
    2430             e.add(new qx.legacy.ui.form.ListItem("Power spectral density",
    2431                 null, "spectral_power_density"));
    2432             e.add(new qx.legacy.ui.form.ListItem("Electric field", null, "efield"));
    2433             e.addListener("changeSelected", function(ev) {
     2277            l = new qx.ui.basic.Label("Dimension:");
     2278            e = new pf.ui.SelectBox;
     2279            e.addItem("Length", "length");
     2280            e.addItem("Frequency", "frequency");
     2281            e.addItem("Velocity", "velocity");
     2282            e.addItem("Energy", "energy");
     2283            e.addItem("Pressure", "pressure");
     2284            e.addItem("Area", "area");
     2285            e.addItem("Power density", "power_density");
     2286            e.addItem("Power spectral density", "spectral_power_density");
     2287            e.addItem("Electric field", "efield");
     2288            e.addListener("changeSelection", function(ev) {
    24342289                    var dimension = ev.getTarget().getSelectedValue();
    24352290                    this.gui_prefs_units.update(dimension,
    24362291                        this.prefs.units[dimension]);
    24372292                }, this);
    2438             rc.add(l, e);
     2293            rc.add(l);
     2294            rc.add(e);
    24392295            this.gui_prefs_dim = e;
    24402296
    2441             l = new qx.legacy.ui.basic.Label("Units:");
     2297            l = new qx.ui.basic.Label("Units:");
    24422298            e = new pf.UnitSelector();
    2443             e.addListener("changeSelected", function(ev) {
     2299            e.addListener("changeSelection", function(ev) {
    24442300                    var dimension = this.gui_prefs_dim.getSelectedValue();
    2445                     var units = ev.getTarget().getValue();
     2301                    var units = ev.getTarget().getSelectedValue();
    24462302                    this.prefs.units[dimension] = units;
    24472303                }, this);
    2448             rc.add(l, e);
     2304            rc.add(l);
     2305            rc.add(e);
     2306            e.update("length");
    24492307            this.gui_prefs_units = e;
    24502308
    2451             fr2 = new qx.legacy.ui.groupbox.GroupBox("Interface");
    2452             fr2.setDimension("auto", "auto");
    2453             vbl.add(fr2);
    2454             // A hack...
    2455             fr1.addListener("appear", function(ev) {
    2456                     fr2.setWidth(this.getWidthValue());
    2457                 });
    2458 
    2459             rc = new qx.legacy.ui.layout.VerticalBoxLayout;
    2460             rc.setWidth("100%");
    2461             rc.setHeight("auto");
    2462             rc.setSpacing(10);
     2309            fr2 = new qx.ui.groupbox.GroupBox("Interface");
     2310            fr2.setLayout(new qx.ui.layout.VBox());
     2311            w.add(fr2);
     2312
     2313            rc = new qx.ui.container.Composite(new qx.ui.layout.VBox(10));
    24632314            fr2.add(rc);
    24642315
    2465             e = new qx.legacy.ui.form.CheckBox("Load Wikipedia articles automatically");
    2466             e.setChecked(this.prefs.autoLoadWiki);
    2467             e.addListener("changeChecked", function(ev) {
    2468                 this.prefs.autoLoadWiki = ev.getTarget().getChecked();
     2316            e = new qx.ui.form.CheckBox("Load Wikipedia articles automatically");
     2317            e.setValue(this.prefs.autoLoadWiki);
     2318            e.addListener("changeValue", function(ev) {
     2319                this.prefs.autoLoadWiki = ev.getTarget().getValue();
    24692320            }, this);
    24702321            rc.add(e);
    24712322
    2472             e = new qx.legacy.ui.form.CheckBox("Remember window dimensions on exit");
    2473             e.setChecked(this.prefs.rememberWindowSize);
    2474             e.addListener("changeChecked", function(ev) {
    2475                 this.prefs.rememberWindowSize = ev.getTarget().getChecked();
     2323            e = new qx.ui.form.CheckBox("Remember window dimensions on exit");
     2324            e.setValue(this.prefs.rememberWindowSize);
     2325            e.addListener("changeValue", function(ev) {
     2326                this.prefs.rememberWindowSize = ev.getTarget().getValue();
    24762327            }, this);
    24772328            rc.add(e);
    24782329
    2479             e = new qx.legacy.ui.form.CheckBox("Warn on exit or restart");
    2480             e.setChecked(this.prefs.warnOnExit);
    2481             e.addListener("changeChecked", function(ev) {
    2482                 this.prefs.warnOnExit = ev.getTarget().getChecked();
     2330            e = new qx.ui.form.CheckBox("Warn on exit or restart");
     2331            e.setValue(this.prefs.warnOnExit);
     2332            e.addListener("changeValue", function(ev) {
     2333                this.prefs.warnOnExit = ev.getTarget().getValue();
    24832334            }, this);
    24842335            rc.add(e);
    2485 
    2486             this.doc.add(w);
     2336           
     2337            this.doc.add(w, {left: 200, top: 100});
    24872338            this.prefsWindow = w;
    24882339        },
     
    24982349        {
    24992350            this.base(arguments);
    2500             this.compat();
    25012351
    25022352            // Enable logging in debug variant
     
    25092359            }
    25102360           
    2511             this.doc = qx.legacy.ui.core.ClientDocument.getInstance();
    2512             this.win = this.doc.getWindowElement();
     2361            this.doc = this.getRoot();
     2362            // this.win = this.doc.getWindow();
    25132363           
    25142364            // Load prefs
     
    25302380           
    25312381            this.colorMap = new Array("red", "blue", "green", "orange",
    2532                 "brown", "olive", "teal", "magenta", "grey", "black");
     2382                "brown", "olive", "teal", "magenta", "gray", "black");
    25332383            this.ncolor = 0;
    25342384
    25352385            // Top-level container
    2536             this.bl_top = new qx.legacy.ui.layout.VerticalBoxLayout("vertical");
    2537             this.bl_top.setWidth("100%");
    2538             this.bl_top.setHeight("100%");
    2539 
    2540             this.bl_top.addToDocument();
     2386            var layout = new qx.ui.layout.VBox;
     2387            this.bl_top = new qx.ui.container.Composite(layout);
     2388
     2389            this.doc.add(this.bl_top, {width : '100%'});
    25412390
    25422391            // The menubar
    2543             this.menubar = new qx.legacy.ui.menubar.MenuBar;
     2392            this.menubar = new qx.ui.menubar.MenuBar;
    25442393            this.bl_top.add(this.menubar);
    25452394           
     
    25472396            this.buildMenu();
    25482397           
    2549             var tf1 = new qx.legacy.ui.pageview.tabview.TabView;
    2550             tf1.set({ width : '100%', height : '2*' });
    2551 
    2552             this.bl_top.add(tf1);
    2553 
    2554             this.tabbar  = tf1.getBar();
    2555             this.tabpane = tf1.getPane();
    2556             this.tabpane.setHeight('3*');
    2557             this.tabpane.setPadding(0, 0, 0, 0);
    2558 
     2398            this.tabview = new qx.ui.tabview.TabView;
     2399           
     2400            this.bl_top.add(this.tabview);
    25592401            // The "Parameters" tab
    25602402            this.renderParametersTab();
     
    25762418
    25772419            // "About..." dialog
    2578             w = new qx.legacy.ui.window.Window("About Plasma Formulary",
     2420            var w = new qx.ui.window.Window("About Plasma Formulary",
    25792421                "pf/image/about.png");
    2580             w.setSpace(200, "auto", 100, "auto");
     2422            w.setLayout(new qx.ui.layout.VBox(10));
    25812423            w.setModal(true);
    25822424            w.setShowMinimize(false);
    25832425            w.setShowMaximize(false);
     2426
     2427            w.addListener("keypress", function(ev) {
     2428                    if (ev.getKeyIdentifier() == "Escape") {
     2429                        w.close()
     2430                    }
     2431                });
    25842432           
    25852433            var version = qx.core.Version;
    25862434            if (!version) {
    2587                 version = '0.8.3';
    2588             }
    2589             str = 'Plasma Formulary Interactive.<br/>'    +
    2590                   '$Revision$.'                    +
    2591                   '<p>Written by Evgeny Stambulchik.</p>' +
    2592                   '<p>GUI built with the Qooxdoo-'        +
    2593                   version + ' toolkit.<br/>'              +
    2594                   'Using Walter Zorn jsGraphics for drawing.</p>';
    2595 
    2596             var a = new qx.legacy.ui.basic.Atom(str);
    2597             a.set({ top: 4, left: 4 });
     2435                version = '1.0';
     2436            }
     2437            var str = 'Plasma Formulary Interactive.<br/>'    +
     2438                      '$Revision$.'                    +
     2439                      '<p>Written by Evgeny Stambulchik.</p>' +
     2440                      '<p>GUI built with the Qooxdoo-'        +
     2441                      version + ' toolkit.<br/>'              +
     2442                      'Using Walter Zorn jsGraphics for drawing.</p>';
     2443
     2444            var a = new qx.ui.basic.Atom(str);
     2445            a.setRich(true);
    25982446            w.add(a);
    25992447
    2600             this.doc.add(w);
     2448            this.doc.add(w, {left: 200, top: 100});
    26012449            this.aboutWindow = w;
    26022450           
    26032451            if (this.prefs.rememberWindowSize && this.prefs.dims) {
    2604                 self.resizeTo(this.prefs.dims.w,this.prefs.dims.h)
     2452                self.resizeTo(this.prefs.dims.w, this.prefs.dims.h)
    26052453            }
    26062454
    26072455            // Handle resize events
    2608             this.doc.addListener("windowresize", function(e) {
    2609                 if (this.prefs.rememberWindowSize) {
    2610                     this.prefs.dims = this.getWindowDimensions();
    2611                 }
    2612                 this.drawAll();
    2613             }, this);
     2456            // this.doc.addListener("windowresize", function(e) {
     2457            //     if (this.prefs.rememberWindowSize) {
     2458            //         this.prefs.dims = this.getWindowDimensions();
     2459            //     }
     2460            //     this.drawAll();
     2461            // }, this);
    26142462        },
    26152463   
     
    26282476
    26292477            this.base(arguments);
    2630             this.compat();
    26312478           
    26322479            // Prompt user
  • source/class/pf/UnitSelector.js

    r61 r146  
    11qx.Class.define("pf.UnitSelector",
    22{
    3     extend: pf.ui.ComboBox,
     3    extend: pf.ui.SelectBox,
    44   
    55    members:
     
    1515            this._dimension = dimension;
    1616           
    17             var list = this.getList();
     17            var list = this.getChildControl("list");
    1818           
    1919            // clear everything
     
    8181
    8282            if (def_units) {
    83                 var def_selected = list.findStringExact(def_units);
    84                 if (def_selected) {
    85                     selected = def_selected;
    86                 }
    87             }
    88            
     83                var models = new Array(def_units);
     84                list.setModelSelection(models);
     85            } else
    8986            if (selected) {
    90                 this.setSelected(selected);
     87                var sels = Array(selected);
     88                list.setSelection(sels);
    9189            }
    9290        }
  • source/class/pf/ui/TextField.js

    r79 r146  
    22qx.Class.define("pf.ui.TextField",
    33{
    4     extend: qx.legacy.ui.form.TextField,
     4    extend: qx.ui.form.TextField,
    55   
    66    construct: function(v) {
  • source/class/pf/ui/canvas/Canvas.js

    r72 r146  
    11qx.Class.define("pf.ui.canvas.Canvas",
    22{
    3     extend: qx.legacy.ui.basic.Atom,
     3    extend: qx.ui.core.Widget,
    44   
    55    construct: function() {
    66        this.base(arguments);
     7       
    78        this.addListener("appear", function(e) {
    89                if (!this.jg) {
    9                     var element = this.getElement();
     10                    var element = this.getContainerElement().getDomElement();
    1011                    this.jg = new jsGraphics(element);
    1112                    // FIXME: get from qx
     
    1415            }, this);
    1516    },
    16    
     17
    1718    members:
    1819    {
  • source/class/pf/ui/canvas/Plotter.js

    r118 r146  
    4646    construct: function() {
    4747        this.base(arguments);
     48
     49        this._setLayout(new qx.ui.layout.Basic());
     50
    4851        this.setCursor("crosshair");
    49        
     52
    5053        var v = new Array;
    5154        v.xmin = 0.1;
     
    6265        this.w = w;
    6366
    64         var tracker = new qx.legacy.ui.basic.Atom("X:<br>Y:");
    65         tracker.setBorder("groove");
     67        var tracker = new qx.ui.basic.Label("X:<br>Y:");
     68        tracker.setRich(true);
     69        tracker.setDecorator(new qx.ui.decoration.Single(1, "solid", "black"));
    6670        tracker.hide();
    6771        tracker.dp = aPoint();
    6872        tracker.vp = aPoint();
    6973        tracker.wp = aPoint();
    70         this.add(tracker);
     74       
     75        this._add(tracker, {left: 20, top:20});
    7176        this.tracker = tracker;
    72        
    73         this.setHorizontalChildrenAlign("left");
    74         this.setVerticalChildrenAlign("top");
    7577       
    7678        this.addListener("mousemove", function(ev) {
    7779                var tracker = this.tracker;
    78                 var el = this.getElement();
    79                 tracker.dp.x = ev.getPageX() -
    80                     qx.legacy.html.Location.getClientInnerLeft(el) - 1;
    81                 tracker.dp.y = ev.getPageY() -
    82                     qx.legacy.html.Location.getClientInnerTop(el) - 1;
     80                var el = this.getContainerElement().getDomElement();
     81                tracker.dp.x = ev.getViewportLeft() -
     82                    qx.bom.element.Location.getLeft(el);
     83                tracker.dp.y = ev.getViewportTop() -
     84                    qx.bom.element.Location.getTop(el);
    8385                this.dPoint2vPoint(tracker.dp, tracker.vp);
    8486                this.vPoint2wPoint(tracker.vp, tracker.wp);
    85                 tracker.setLabel("X: " + pf.util.Format.numPrint(tracker.wp.x) +
     87
     88                tracker.setValue("X: " + pf.util.Format.numPrint(tracker.wp.x) +
    8689                    "<br>Y: " + pf.util.Format.numPrint(tracker.wp.y));
    87                 tracker.setLeft(tracker.dp.x + 12);
    88                 tracker.setTop(tracker.dp.y - 12);
     90
     91                tracker.setDomLeft(tracker.dp.x + 12);
     92                tracker.setDomTop(tracker.dp.y + 12);
    8993               
    9094                if (this.isInsideViewport(tracker.vp)) {
     
    108112        vPoint2dPoint: function(vp, p)
    109113        {
    110             var width  = this.getWidthValue();
    111             var height = this.getHeightValue();
     114            var dims   = this.getInnerSize();
     115            var width  = dims.width;
     116            var height = dims.height;
    112117           
    113118            p.x = Math.round(width*vp.x);
     
    117122        dPoint2vPoint: function(dp, vp)
    118123        {
    119             var width  = this.getWidthValue();
    120             var height = this.getHeightValue();
     124            var dims   = this.getInnerSize();
     125            var width  = dims.width;
     126            var height = dims.height;
    121127           
    122128            vp.x = dp.x/width;
     
    149155            }
    150156           
    151             p1 = aPoint();
    152             p2 = aPoint();
     157            var p1 = aPoint();
     158            var p2 = aPoint();
    153159           
    154160            this.vPoint2dPoint(vp1, p1);
     
    165171            }
    166172           
    167             p1 = aPoint();
    168             p2 = aPoint();
     173            var p1 = aPoint();
     174            var p2 = aPoint();
    169175           
    170176            this.vPoint2dPoint(vp1, p1);
     
    197203            }
    198204           
    199             p = aPoint();
     205            var p = aPoint();
    200206           
    201207            this.vPoint2dPoint(vp, p);
     
    241247            var wp = aPoint();
    242248
    243             dx = new Array;
    244             dy = new Array;
     249            var dx = new Array;
     250            var dy = new Array;
    245251            for (var i = 0; i < x.length; i++) {
    246252                wp.x = x[i];
     
    307313           
    308314            var halign, valign;
     315            var wmin, wmax;
    309316            if (axis == "x") {
    310317                wmin  = w.xmin;
     
    331338            var nticks = (nmajor - 1)*2 + 1;
    332339           
    333             wstart = Math.floor(wmin/tmajor)*tmajor;
     340            var wstart = Math.floor(wmin/tmajor)*tmajor;
    334341           
    335342            for (var i = 0; i < nticks; i++) {
Note: See TracChangeset for help on using the changeset viewer.