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

Reply via email to