# HG changeset patch # User timkelly # Date 1272040911 18000 # Node ID ad41cb5ef65fdd6e37862d1aaffc63db7a6eeb31 # Parent 15644163b1a2fd4c760df804e186d3778d7f1dde fix bug 11077 and bug 11033 diff -r 15644163b1a2 -r ad41cb5ef65f 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 Fri Apr 23 09:37:47 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java Fri Apr 23 11:41:51 2010 -0500 @@ -30,17 +30,22 @@ import org.eclipse.jface.viewers.TreeNode; import org.eclipse.jface.viewers.TreeNodeContentProvider; import org.eclipse.jface.viewers.Viewer; +import org.eclipse.jface.window.Window; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Link; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TreeItem; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.dialogs.ContainerCheckedTreeViewer; +import org.eclipse.ui.dialogs.PreferencesUtil; import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin; import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration; @@ -51,7 +56,10 @@ import com.nokia.carbide.cpp.internal.qt.core.QtConfigFilter; import com.nokia.carbide.cpp.internal.qt.core.QtCorePlugin; import com.nokia.carbide.cpp.internal.qt.core.QtSDKFilter; -import com.nokia.carbide.cpp.sdk.core.*; +import com.nokia.carbide.cpp.sdk.core.ISDKManager; +import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext; +import com.nokia.carbide.cpp.sdk.core.ISymbianSDK; +import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin; import com.nokia.carbide.cpp.sdk.ui.shared.BuildTargetTreeNode; import com.nokia.cpp.internal.api.utils.core.Check; @@ -187,23 +195,8 @@ filteringContentProviderWrapper.setConfigFilter(new QtConfigFilter()); } - boolean sbsv2Project = CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(cpi.getProject()); + drawSDKConfigTree(); - properSdkViewer.setContentProvider(filteringContentProviderWrapper); - properSdkViewer.setInput(BuildTargetTreeNode.getTreeViewerInput(sbsv2Project)); - propagateSdkTree(); - properSdkViewer.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 BuildTargetTreeNode){ - BuildTargetTreeNode bttn = (BuildTargetTreeNode)obj; - properSdkViewer.setExpandedState(bttn, true); - } - validatePage(); - } - }); - BrokenConfigurationInProjectTreeNode[] brokenTreeInput = BrokenConfigurationInProjectTreeNode.getTreeViewerInput(cpi); if (brokenTreeInput.length > 0) { final Label uninstalledSdkConfigLabel = new Label(container, SWT.NONE); @@ -234,11 +227,44 @@ sdkStaticHelp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); sdkStaticHelp.setText(Messages.getString("ManageConfigurationsDialog.Select_config_help_text")); //$NON-NLS-1$ + Link fLink = new Link(parent, SWT.WRAP); + fLink.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + fLink.setText("\n " + Messages.getString("ManageConfigurationsDialog.Select_Filtering_Prefs_Link")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + fLink.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1)); + fLink.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + // I don't see a way to open it to a specific tab, only the page + if (Window.OK == PreferencesUtil.createPreferenceDialogOn(getShell(), "com.nokia.carbide.cpp.sdk.ui.preferences.BuildPlatformFilterPage", null, null, 0).open()){ //$NON-NLS-1$ + drawSDKConfigTree(); + } + } + }); + PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, CarbideCPPBuilderUIHelpIds.CARBIDE_BUILDER_MANAGE_CONFIGURATIONS_DLG); return container; } + private void drawSDKConfigTree() { + boolean sbsv2Project = CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(cpi.getProject()); + + properSdkViewer.setContentProvider(filteringContentProviderWrapper); + properSdkViewer.setInput(BuildTargetTreeNode.getTreeViewerInput(sbsv2Project)); + propagateSdkTree(); + properSdkViewer.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 BuildTargetTreeNode){ + BuildTargetTreeNode bttn = (BuildTargetTreeNode)obj; + properSdkViewer.setExpandedState(bttn, true); + } + validatePage(); + } + }); + + } + /** * Create contents of the button bar * @param parent diff -r 15644163b1a2 -r ad41cb5ef65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/messages.properties --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/messages.properties Fri Apr 23 09:37:47 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/messages.properties Fri Apr 23 11:41:51 2010 -0500 @@ -4,6 +4,7 @@ ManageConfigurationsDialog.Unavailable_Config_Label_ToolTip=Show the SDKs and build configurations that are unavailable to the current project ManageConfigurationsDialog.Unavailable_SDks_and_Configs=\n Unavailable SDKs and Configurations:\n\n ManageConfigurationsDialog.Select_config_help_text=\n Checkmark a configuration to add it to the current project, or uncheck a configuration to remove it from the build configuration. +ManageConfigurationsDialog.Select_Filtering_Prefs_Link=See Platform Filtering Preferences to configure displayed build configurations. MMPSelectionUI.BuildOrderColumnLabel=Build order MMPSelectionUI.FileNameColumnLabel=File name diff -r 15644163b1a2 -r ad41cb5ef65f core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java Fri Apr 23 09:37:47 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java Fri Apr 23 11:41:51 2010 -0500 @@ -30,6 +30,7 @@ import org.eclipse.core.filesystem.URIUtil; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Preferences; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.InstanceScope; import org.osgi.framework.Version; @@ -54,6 +55,7 @@ public class SBSv2Utils { private static final String SBSV2_FILTERED_CONFIGS_STORE = "sbsv2FilteredConfigs"; //$NON-NLS-1$ + private static final String SBSV2_FILTERED_CONFIGS_STORE_INITED = "sbsv2FilteredConfigsInited"; //$NON-NLS-1$ private static final String SBSV2_FILTERED_CONFIGS_DELIMETER = ";"; //$NON-NLS-1$ /** @@ -201,6 +203,8 @@ public static List getFilteredSBSv2BuildContexts(ISymbianSDK sdk) { List contexts = new ArrayList(); + initDefaultConfigsToFilter(); + Iterator it = getUnfilteredSBSv2BuildConfigurations(false).entrySet().iterator(); while (it.hasNext()){ @@ -243,6 +247,31 @@ } /** + * There are many build aliases presented by default from Raptor + * Filter out those that are less commonly used on new workspace creation. + */ + public static void initDefaultConfigsToFilter() { + IEclipsePreferences prefs = new InstanceScope().getNode(SDKCorePlugin.getPluginId()); + String inited = prefs.get(SBSV2_FILTERED_CONFIGS_STORE_INITED, ""); + if (inited == null || inited.length() == 0){ + Iterator it = getUnfilteredSBSv2BuildConfigurations(false).entrySet().iterator(); + List defaultConfigsToFilter = new ArrayList(); + while (it.hasNext()){ + Map.Entry buildConfigPair = (Map.Entry)it.next(); + String buildAlias = (String)buildConfigPair.getKey(); + if (buildAlias.toLowerCase().startsWith("armv6") || + buildAlias.toLowerCase().startsWith("armv7") || + buildAlias.toLowerCase().startsWith("armv9")){ + defaultConfigsToFilter.add(buildAlias); + } + } + prefs.put(SBSV2_FILTERED_CONFIGS_STORE_INITED, "true"); + setSBSv2ConfigurationsToFilter(defaultConfigsToFilter.toArray(new String[defaultConfigsToFilter.size()])); + + } + } + + /** * Whether or not to display SBSv1 builder UI * @return true if SBSv1 is available, false otherwise */ @@ -365,9 +394,9 @@ return sbsPath != null ? sbsPath : new Path(sbsScriptName); // dummy } - private static List sortContexts(List contexts){ - - // 3 sorting stages to handle long Raptor aliases, and multiple aliases that have a similar platform and target prefix (e.g. armv5_urel) + private static List sortContexts(List contexts){ + + // 2 sorting stages to handle long Raptor aliases, and multiple aliases that have a similar platform and target prefix (e.g. armv5_urel) Collections.sort(contexts, new Comparator() { @@ -377,10 +406,23 @@ String sbsAlias2 = o2.getSBSv2Alias(); if (o1.getPlatformString().equals(o2.getPlatformString())) { - if (o1.getSBSv2Alias().split("_").length == 2 && o2.getSBSv2Alias().split("_").length == 2) + if (o1.getSBSv2Alias().split("_").length != o2.getSBSv2Alias().split("_").length) return o1.getTargetString().compareTo(o2.getTargetString()); - else if (sbsAlias1.split("_").length >= 3 && sbsAlias1.split("_").length >= 3) - return 1; + else if (sbsAlias1.split("_").length >= 3){ + String temp1[] = sbsAlias1.split("_"); + String temp2[] = sbsAlias2.split("_"); + String suffix1 = ""; + String suffix2 = ""; + for (int i = 2; i < temp1.length; i++){ + suffix1 += temp1[i] + "_"; + } + + for (int i = 2; i < temp2.length; i++){ + suffix2 += temp2[i] + "_"; + } + + return suffix1.compareTo(suffix2); + } } else { if (sbsAlias1.toUpperCase().startsWith(ISymbianBuildContext.EMULATOR_PLATFORM)) { return -1; @@ -389,7 +431,6 @@ } } return sbsAlias1.compareTo(sbsAlias2); - } }); @@ -401,7 +442,10 @@ String sbsAlias1 = o1.getSBSv2Alias(); String sbsAlias2 = o2.getSBSv2Alias(); - if (sbsAlias1.split("_").length >= 3 && sbsAlias1.split("_").length >= 3 && !sbsAlias1.equals(sbsAlias2)){ + if (o1.getSBSv2Alias().split("_").length == 3 && o2.getSBSv2Alias().split("_").length == 3 && + o1.getPlatformString().equals(o2.getPlatformString())) + return o1.getTargetString().compareTo(o2.getTargetString()); + else if (sbsAlias1.split("_").length >= 3 && sbsAlias1.split("_").length >= 3 && !sbsAlias1.equals(sbsAlias2)){ String temp1[] = sbsAlias1.split("_"); String temp2[] = sbsAlias2.split("_"); String suffix1 = ""; @@ -421,34 +465,8 @@ } }); - // Sort the target string for long aliases - Collections.sort(contexts, new Comparator() { - - public int compare(ISymbianBuildContext o1, ISymbianBuildContext o2) { - String sbsAlias1 = o1.getSBSv2Alias(); - String sbsAlias2 = o2.getSBSv2Alias(); - String temp1[] = sbsAlias1.split("_"); - String temp2[] = sbsAlias2.split("_"); - String suffix1 = ""; - String suffix2 = ""; - for (int i = 2; i < temp1.length; i++){ - suffix1 += temp1[i] + "_"; - } - - for (int i = 2; i < temp2.length; i++){ - suffix2 += temp2[i] + "_"; - } - - if (sbsAlias1.split("_").length >= 3 && sbsAlias1.split("_").length >= 3 && suffix1.equals(suffix2)){ - return o1.getTargetString().compareTo(o2.getTargetString()); - } - - return 0; - } - }); - - return contexts; - } + return contexts; + } /** * If a variant is defined and it changes the output directory, return the directory name. diff -r 15644163b1a2 -r ad41cb5ef65f core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/BuildPlatformFilterPage.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/BuildPlatformFilterPage.java Fri Apr 23 09:37:47 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/BuildPlatformFilterPage.java Fri Apr 23 11:41:51 2010 -0500 @@ -53,6 +53,16 @@ GridData tabFolderGridData = new GridData(SWT.FILL, SWT.FILL, true, true); tabFolder.setLayoutData(tabFolderGridData); + if (SBSv2Utils.enableSBSv2Support()) { + TabItem sbsv2TabItem = new TabItem(tabFolder, SWT.NONE); + sbsv2TabItem.setText(Messages.getString("BuildPlatformFilterPage.SBSv2TabText")); //$NON-NLS-1$ + sbsv2TabItem.setToolTipText(Messages.getString("BuildPlatformFilterPage.SBSv2TabToolTip")); //$NON-NLS-1$ + + sbsv2Tab = new SBSv2PlatformFilterComposite(tabFolder); + sbsv2Tab.createControls(); + sbsv2TabItem.setControl(sbsv2Tab); + } + if (SBSv2Utils.enableSBSv1Support()) { TabItem sbsv1TabItem = new TabItem(tabFolder, SWT.NONE); sbsv1TabItem.setText(Messages.getString("BuildPlatformFilterPage.SBSv1TabText")); //$NON-NLS-1$ @@ -62,16 +72,6 @@ sbsv1Tab.createControls(); sbsv1TabItem.setControl(sbsv1Tab); } - - if (SBSv2Utils.enableSBSv2Support()) { - TabItem sbsv2TabItem = new TabItem(tabFolder, SWT.NONE); - sbsv2TabItem.setText(Messages.getString("BuildPlatformFilterPage.SBSv2TabText")); //$NON-NLS-1$ - sbsv2TabItem.setToolTipText(Messages.getString("BuildPlatformFilterPage.SBSv2TabToolTip")); //$NON-NLS-1$ - - sbsv2Tab = new SBSv2PlatformFilterComposite(tabFolder); - sbsv2Tab.createControls(); - sbsv2TabItem.setControl(sbsv2Tab); - } PlatformUI.getWorkbench().getHelpSystem().setHelp(super.getControl(), SDKUIHelpIds.SDK_BUILD_FILTER_PAGE); diff -r 15644163b1a2 -r ad41cb5ef65f core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java Fri Apr 23 09:37:47 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java Fri Apr 23 11:41:51 2010 -0500 @@ -98,6 +98,8 @@ private void initTable(boolean refreshList) { + SBSv2Utils.initDefaultConfigsToFilter(); + Object[] keySet = SBSv2Utils.getUnfilteredSBSv2BuildConfigurations(refreshList).keySet().toArray(); List sbsAliases = new ArrayList(); for (Object key : keySet) @@ -123,7 +125,12 @@ public void setDefaults(){ initTable(true); for (TableItem item : tableViewer.getTable().getItems()) { - if (item.getText().toLowerCase().startsWith("tool") || item.getText().toLowerCase().startsWith("gccxml")) { + if (item.getText().toLowerCase().startsWith("tool") || + item.getText().toLowerCase().startsWith("gccxml") || + item.getText().toLowerCase().startsWith("armv6") || + item.getText().toLowerCase().startsWith("armv7") || + item.getText().toLowerCase().startsWith("armv7") || + item.getText().toLowerCase().startsWith("armv9")) { tableViewer.setChecked(item.getData(), false); } else { tableViewer.setChecked(item.getData(), true); diff -r 15644163b1a2 -r ad41cb5ef65f core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/messages.properties --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/messages.properties Fri Apr 23 09:37:47 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/messages.properties Fri Apr 23 11:41:51 2010 -0500 @@ -123,6 +123,7 @@ BuildTargetsPage.NoBuildConfigsSelectedError=Please select at least one build configuration. BuildTargetsPage.DifferentDrivesError=There are known build problems when the bld.inf file and SDK are on different drives ({0}) BuildTargetsPage.NoDriveSpecWarning=You have chosen an SDK EPOCROOT without a drive specification. Building will work but other features such as the indexer and MMP editor may not fully function. +BuildTargetsPage.Select_Filtering_Prefs_Link=See Platform Filtering Preferences to configure displayed build configurations. BuildPlatformFilterPage.SBSv1TabText=SBSv1 BuildPlatformFilterPage.SBSv1TabToolTip=Symbian OS Build System version 1 builder platform filtering diff -r 15644163b1a2 -r ad41cb5ef65f core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetsPage.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetsPage.java Fri Apr 23 09:37:47 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetsPage.java Fri Apr 23 11:41:51 2010 -0500 @@ -18,14 +18,24 @@ package com.nokia.carbide.cpp.sdk.ui.shared; import java.text.MessageFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import java.util.Map; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.jface.dialogs.DialogPage; import org.eclipse.jface.dialogs.IDialogPage; -import org.eclipse.jface.viewers.*; +import org.eclipse.jface.viewers.CheckStateChangedEvent; +import org.eclipse.jface.viewers.ICheckStateListener; +import org.eclipse.jface.viewers.IFilter; +import org.eclipse.jface.viewers.ITreeContentProvider; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.viewers.TreeNode; +import org.eclipse.jface.viewers.TreeNodeContentProvider; +import org.eclipse.jface.viewers.Viewer; +import org.eclipse.jface.window.Window; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -33,9 +43,14 @@ import org.eclipse.swt.graphics.Font; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.*; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Link; +import org.eclipse.swt.widgets.TreeItem; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.dialogs.ContainerCheckedTreeViewer; +import org.eclipse.ui.dialogs.PreferencesUtil; import com.nokia.carbide.cpp.internal.api.sdk.ui.TemplateUtils; import com.nokia.carbide.cpp.internal.sdk.ui.Messages; @@ -192,20 +207,7 @@ configLabel.setText(Messages.getString("BuildTargetsPage.BuildConfigsLabel")); //$NON-NLS-1$ configLabel.setToolTipText(Messages.getString("BuildTargetsPage.BuildConfigsToolTip")); //$NON-NLS-1$ - viewer = new ContainerCheckedTreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); - viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); - viewer.setLabelProvider(new LabelProvider()); - TreeNodeContentProvider treeNodeContentProvider = new TreeNodeContentProvider(); - filteringContentProviderWrapper = - new FilteringContentProviderWrapper(treeNodeContentProvider); - viewer.setContentProvider(filteringContentProviderWrapper); - viewer.addCheckStateListener(new ICheckStateListener() { - public void checkStateChanged(CheckStateChangedEvent event) { - setPageComplete(validatePage()); - } - }); - viewer.getControl().setData(UID, "buildConfigsTree"); //$NON-NLS-1$ - viewer.getControl().setData("viewer", viewer); //$NON-NLS-1$ + drawSDKConfigView(parent); filterCheckbox = new Button(parent, SWT.CHECK); filterCheckbox.setText(Messages.getString("BuildTargetsPage.FilterText")); //$NON-NLS-1$ @@ -224,11 +226,54 @@ }); filterCheckbox.setData(UID, "filterCheckbox"); //$NON-NLS-1$ + Link fLink = new Link(parent, SWT.WRAP); + fLink.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + fLink.setText(Messages.getString("BuildTargetsPage.Select_Filtering_Prefs_Link")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + fLink.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1)); + fLink.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + // I don't see a way to open it to a specific tab, only the page + if (Window.OK == PreferencesUtil.createPreferenceDialogOn(getShell(), "com.nokia.carbide.cpp.sdk.ui.preferences.BuildPlatformFilterPage", null, null, 0).open()){ //$NON-NLS-1$ + inited = false; + setVisible(true); + drawSDKConfigView(getControl().getParent()); + TemplateSDKFilter filter = filterCheckbox.getSelection() ? templateFilter + : null; + filteringContentProviderWrapper.setFilter(filter); + viewer.getTree().clearAll(true); + viewer.refresh(); + setPageComplete(validatePage()); + } + } + + }); + addOtherControls(parent); setPageComplete(validatePage()); } + private void drawSDKConfigView(Composite parent) { + + if (viewer == null){ + viewer = new ContainerCheckedTreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); + viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); + viewer.setLabelProvider(new LabelProvider()); + } + TreeNodeContentProvider treeNodeContentProvider = new TreeNodeContentProvider(); + filteringContentProviderWrapper = + new FilteringContentProviderWrapper(treeNodeContentProvider); + viewer.setContentProvider(filteringContentProviderWrapper); + viewer.addCheckStateListener(new ICheckStateListener() { + public void checkStateChanged(CheckStateChangedEvent event) { + setPageComplete(validatePage()); + } + }); + viewer.getControl().setData(UID, "buildConfigsTree"); //$NON-NLS-1$ + viewer.getControl().setData("viewer", viewer); //$NON-NLS-1$ + + } + /** * Add more controls after the tree and filter checkbox. Allows subclasses to add * more controls.