On Tue, Jan 5, 2010 at 05:32, <i...@saksys.de> wrote: > Hi Derrell, > > as you wished i wrote a little playground script, please select one branch > at the left and thank click to copy button. After taht please click any > branch at the right side. > > You'll see what i ment. >
Yes, I see what you meant. As I had originally suggested, though, treeA.getSelectedNodes() method does return the specific selected nodes that you want to turn off in treeB. I uncommented your loop and modified it so it's no longer looping through the entire data model, but rather only through the selected nodes array. Derrell //make Tree A var treeA = new qx.ui.treevirtual.TreeVirtual(["Kategorie", "Sorting", "Keywords"]); var dataModel = treeA.getDataModel(); var tcm = treeA.getTableColumnModel(); tcm.setColumnVisible(1, false); tcm.setColumnVisible(2, false); dataModel.setColumnEditable(1, true); dataModel.setColumnEditable(2, true); treeA.setFocusCellOnMouseMove(false); treeA.setShowCellFocusIndicator(true); treeA.setOpenCloseClickSelectsRow(true); treeA.dataModel = dataModel; var dataModel = treeA.getDataModel(); // SET Data for treeA var te1 = dataModel.addBranch(null, "Desktop", true); var x; var te; dataModel.addBranch(te1, "Files", true); te = dataModel.addBranch(te1, "Workspace", true); x = dataModel.addBranch(te, "Windows (C:)"); x = dataModel.addBranch(te, "Documents (D:)"); dataModel.addBranch(te1, "Network", true); dataModel.addBranch(te1, "Trash", true); var te2 = dataModel.addBranch(null, "Inbox", true); te = dataModel.addBranch(te2, "Spam", false); for (var i = 1; i < 3000; i++) { dataModel.addBranch(te, "Spam Message #" + i); } dataModel.addBranch(te2, "Sent", false); dataModel.addBranch(te2, "Trash", false); dataModel.addBranch(te2, "Data", false); dataModel.addBranch(te2, "Edit", false); dataModel.setData(); this.getRoot().add(treeA, {left: 10, top: 10}); //make Tree B var treeB = new qx.ui.treevirtual.TreeVirtual(["Kategorie", "Sorting", "Keywords"]); var dataModel = treeB.getDataModel(); var tcm = treeB.getTableColumnModel(); tcm.setColumnVisible(1, false); tcm.setColumnVisible(2, false); dataModel.setColumnEditable(1, true); dataModel.setColumnEditable(2, true); treeB.setFocusCellOnMouseMove(false); treeB.setShowCellFocusIndicator(true); treeB.setOpenCloseClickSelectsRow(true); treeB.dataModel = dataModel; this.getRoot().add(treeB, {left: 250, top: 10}); // Copy Data From TreeA to TreeB this.getRoot().add(bnt = new qx.ui.form.Button("COPY DATA"), {left: 120, top: 10}); bnt.addListener("execute", function() { var treeAData = qx.util.Serializer.toNativeObject(treeA.getDataModel().getData(), null); // Get the list of nodes that were selected in TreeA var selectedNodes = treeA.getSelectedNodes(); // For each node that was selected in TreeA... for (var i = 0; i < selectedNodes.length; i++) { // ... get its node id, use that as the index into the data model, // and reset the bSelected flag. treeAData[selectedNodes[i].nodeId].bSelected = false; } treeB.getDataModel().setData(treeAData); });
------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________ qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel