# HG changeset patch # User timkelly # Date 1279730276 18000 # Node ID d1edeecb12af5f78697ec19c6b798d03aa5bf8c4 # Parent 2db4594b310f89d9ea9cfe8e5a0592ab3652ed0e make sure to alaways create configs even if even epoc root is bad. Also, make sure to display broken SDKs in the config tree. diff -r 2db4594b310f -r d1edeecb12af builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java Tue Jul 20 13:38:47 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java Wed Jul 21 11:37:56 2010 -0500 @@ -72,7 +72,6 @@ public class ManageConfigurationsDialog extends TrayDialog { protected ContainerCheckedTreeViewer properSdkViewer; - protected ContainerCheckedTreeViewer missingSdkViewer; private FilteringContentProviderWrapper filteringContentProviderWrapper; private final ICarbideProjectInfo cpi; @@ -229,25 +228,6 @@ final Label uninstalledSdkConfigLabel = new Label(container, SWT.NONE); uninstalledSdkConfigLabel.setToolTipText(Messages.getString("ManageConfigurationsDialog.Unavailable_Config_Label_ToolTip")); //$NON-NLS-1$ uninstalledSdkConfigLabel.setText(Messages.getString("ManageConfigurationsDialog.Unavailable_SDks_and_Configs")); //$NON-NLS-1$ - missingSdkViewer = new ContainerCheckedTreeViewer(container, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); - missingSdkViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); - missingSdkViewer.setLabelProvider(new LabelProvider()); - filteringContentProviderWrapper = - new FilteringContentProviderWrapper(treeNodeContentProvider); - missingSdkViewer.setContentProvider(filteringContentProviderWrapper); - missingSdkViewer.setInput(brokenTreeInput); - propagateMissingSdkTree(); - missingSdkViewer.addCheckStateListener(new ICheckStateListener() { - public void checkStateChanged(CheckStateChangedEvent event) { - // Disclose the tree if the user selected the parent node - Object obj = event.getElement(); - if (obj instanceof BrokenConfigurationInProjectTreeNode){ - BrokenConfigurationInProjectTreeNode bttn = (BrokenConfigurationInProjectTreeNode)obj; - missingSdkViewer.setExpandedState(bttn, true); - } - validatePage(); - } - }); } final Label sdkStaticHelp = new Label(parent, SWT.WRAP); @@ -330,15 +310,17 @@ } else { // Found the right SDK, now check and see if the config exists TreeNode[] configNodes = sdkConfigNode.getChildren(); - for (TreeNode childConfig : configNodes){ - if (childConfig == null){ - continue; - } - if (childConfig.getValue() instanceof ISymbianBuildContext){ - ISymbianBuildContext context = (ISymbianBuildContext)(childConfig.getValue()); - if (config.getBuildContext().equals(context)){ - foundConfig = true; - break; + if (configNodes != null){ + for (TreeNode childConfig : configNodes){ + if (childConfig == null){ + continue; + } + if (childConfig.getValue() instanceof ISymbianBuildContext){ + ISymbianBuildContext context = (ISymbianBuildContext)(childConfig.getValue()); + if (config.getBuildContext().equals(context)){ + foundConfig = true; + break; + } } } } @@ -361,6 +343,9 @@ for (BuildTargetTreeNode sdkNode : missingConfigMap.keySet()){ List configsToAdd = missingConfigMap.get(sdkNode); TreeNode[] oldConfigNodes = sdkNode.getChildren(); + if (oldConfigNodes == null || oldConfigNodes.length == 0){ + continue; + } TreeNode[] newConfigNodes = new TreeNode[oldConfigNodes.length + configsToAdd.size()]; int index = 0; // build up the old list.... @@ -470,19 +455,6 @@ properSdkViewer.refresh(); } - private void propagateMissingSdkTree() { - TreeItem[] items = missingSdkViewer.getTree().getItems(); - // all nodes in this tree are select, as the tree only reflect selected config with bad SDK - for (int i=0; i result = new HashMap(); result.put(BAD_EPOCROOT, ""); - return result; } List argListAliasQuery = new ArrayList(); diff -r 2db4594b310f -r d1edeecb12af core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetTreeNode.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetTreeNode.java Tue Jul 20 13:38:47 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetTreeNode.java Wed Jul 21 11:37:56 2010 -0500 @@ -152,7 +152,7 @@ for (ISymbianSDK sdk : sdkListCopy) { BuildTargetTreeNode treeNode = new BuildTargetTreeNode(sdk, sbsv2Project); - if (treeNode.getChildren() != null){ + if (treeNode.getChildren() != null || sbsv2Project){ input[index++] = treeNode; } }