diff options
author | Silenio Quarti <silenio> | 2008-08-08 05:19:46 +0000 |
---|---|---|
committer | Silenio Quarti <silenio> | 2008-08-08 05:19:46 +0000 |
commit | 1ee855e7fe79825d7a73357fdeee5dd82a6e0159 (patch) | |
tree | 12860ae113758db137fca876ee90a9a0c9982e6e /bundles | |
parent | 511d352658587d6af56ea5fe5cdaa8a866077159 (diff) | |
download | eclipse.platform.swt-1ee855e7fe79825d7a73357fdeee5dd82a6e0159.tar.gz eclipse.platform.swt-1ee855e7fe79825d7a73357fdeee5dd82a6e0159.tar.xz eclipse.platform.swt-1ee855e7fe79825d7a73357fdeee5dd82a6e0159.zip |
*** empty log message ***
Diffstat (limited to 'bundles')
-rw-r--r-- | bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java b/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java index 1a66cfe82b..def3fba0b5 100644 --- a/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java +++ b/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java @@ -94,6 +94,31 @@ public class MacGeneratorUI { item.setGrayed(grayed); checkPath(item.getParentItem(), checked, grayed); } + + void checkChildren(TreeItem item) { + TreeItem dummy; + if (item.getItemCount() == 1 && (dummy = item.getItem(0)).getData() == null) { + dummy.dispose(); + Node node = (Node)item.getData(); + NodeList childNodes = node.getChildNodes(); + for (int i = 0, length = childNodes.getLength(); i < length; i++) { + addChild(childNodes.item(i), item); + } + TreeItem[] items = item.getItems(); + for (int i = 0; i < items.length; i++) { + TreeItem[] children = items[i].getItems(); + int checkedCount = 0; + for (int j = 0; j < children.length; j++) { + if (children[j].getChecked()) checkedCount++; + } + checkPath(items[i], checkedCount == children.length, false); + } + TreeColumn[] columns = nodesTree.getColumns(); + for (int i = 0; i < columns.length; i++) { + columns[i].pack(); + } + } + } void checkItems(TreeItem item, boolean checked) { item.setGrayed(false); item.setChecked(checked); @@ -150,19 +175,7 @@ public class MacGeneratorUI { }); nodesTree.addListener(SWT.Expand, new Listener() { public void handleEvent(Event event) { - TreeItem item = (TreeItem)event.item, dummy; - if (item.getItemCount() == 1 && (dummy = item.getItem(0)).getData() == null) { - dummy.dispose(); - Node node = (Node)item.getData(); - NodeList childNodes = node.getChildNodes(); - for (int i = 0, length = childNodes.getLength(); i < length; i++) { - addChild(childNodes.item(i), item); - } - TreeColumn[] columns = nodesTree.getColumns(); - for (int i = 0; i < columns.length; i++) { - columns[i].pack(); - } - } + checkChildren((TreeItem)event.item); } }); |