summaryrefslogtreecommitdiffstats
path: root/bundles
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2008-08-08 05:19:46 +0000
committerSilenio Quarti <silenio>2008-08-08 05:19:46 +0000
commit1ee855e7fe79825d7a73357fdeee5dd82a6e0159 (patch)
tree12860ae113758db137fca876ee90a9a0c9982e6e /bundles
parent511d352658587d6af56ea5fe5cdaa8a866077159 (diff)
downloadeclipse.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.java39
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);
}
});