srcanaapps/depexplorer/com.nokia.s60tools.appdep/src/com/nokia/s60tools/appdep/ui/wizards/SelectBuildTargetWizardPage.java
author noe\swadi
Sat, 09 Jan 2010 10:04:11 +0530
changeset 0 a02c979e8dfd
permissions -rw-r--r--
1. Copyrights changed to EPL 2. Feature updates mentioned in release notes.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     1
/*
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     2
* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     3
* All rights reserved.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     4
* This component and the accompanying materials are made available
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     6
* which accompanies this distribution, and is available
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     8
*
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
     9
* Initial Contributors:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    11
*
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    12
* Contributors:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    13
*
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    14
* Description:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    15
*
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    16
*/
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    17
 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    18
 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    19
package com.nokia.s60tools.appdep.ui.wizards;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    20
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    21
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    22
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    23
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    24
import java.util.ArrayList;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    25
import java.util.List;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    26
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    27
import org.eclipse.jface.dialogs.IMessageProvider;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    28
import org.eclipse.jface.viewers.CheckboxTableViewer;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    29
import org.eclipse.jface.viewers.ISelectionChangedListener;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    30
import org.eclipse.jface.viewers.SelectionChangedEvent;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    31
import org.eclipse.jface.viewers.ViewerFilter;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    32
import org.eclipse.jface.window.Window;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    33
import org.eclipse.swt.SWT;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    34
import org.eclipse.swt.custom.BusyIndicator;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    35
import org.eclipse.swt.events.FocusEvent;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    36
import org.eclipse.swt.events.FocusListener;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    37
import org.eclipse.swt.events.SelectionEvent;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    38
import org.eclipse.swt.events.SelectionListener;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    39
import org.eclipse.swt.layout.GridData;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    40
import org.eclipse.swt.layout.GridLayout;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    41
import org.eclipse.swt.widgets.Button;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    42
import org.eclipse.swt.widgets.Composite;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    43
import org.eclipse.swt.widgets.Display;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    44
import org.eclipse.swt.widgets.Shell;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    45
import org.eclipse.swt.widgets.Text;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    46
import org.eclipse.swt.widgets.Widget;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    47
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    48
import com.nokia.s60tools.appdep.AppDepHelpContextIDs;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    49
import com.nokia.s60tools.appdep.core.AppDepSettings;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    50
import com.nokia.s60tools.appdep.core.ICacheIndexListener;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    51
import com.nokia.s60tools.appdep.core.ITargetPlatform;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    52
import com.nokia.s60tools.appdep.core.data.CacheIndex;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    53
import com.nokia.s60tools.appdep.core.job.IJobCompletionListener;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    54
import com.nokia.s60tools.appdep.core.job.IManageableJob;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    55
import com.nokia.s60tools.appdep.exceptions.InvalidCmdLineToolSettingException;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    56
import com.nokia.s60tools.appdep.plugin.AppDepPlugin;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    57
import com.nokia.s60tools.appdep.resources.Messages;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    58
import com.nokia.s60tools.appdep.ui.dialogs.AddSISFilesDialog;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    59
import com.nokia.s60tools.appdep.ui.wizards.BuildTargetEntry.BuildTargetStatusEnum;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    60
import com.nokia.s60tools.appdep.ui.wizards.BuildTargetSelectionBuildTypeFilter.BuildTargetFilterModeEnum;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    61
import com.nokia.s60tools.appdep.util.LogUtils;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    62
import com.nokia.s60tools.sdk.SdkInformation;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    63
import com.nokia.s60tools.ui.S60ToolsTable;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    64
import com.nokia.s60tools.ui.S60ToolsTableColumnData;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    65
import com.nokia.s60tools.ui.S60ToolsTableFactory;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    66
import com.nokia.s60tools.ui.wizards.S60ToolsWizardPage;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    67
import com.nokia.s60tools.util.debug.DbgUtility;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    68
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    69
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    70
/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    71
 * Wizard page showing the available targets among which 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    72
 * the user select a target(s) for seeking components to analyze. 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    73
 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    74
public class SelectBuildTargetWizardPage extends S60ToolsWizardPage implements SelectionListener,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    75
												   IJobCompletionListener,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    76
                                                   FocusListener,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    77
                                                   ICacheIndexListener, 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    78
                                                   IRefreshable{	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    79
	//
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    80
	// Constants
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    81
	//
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    82
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    83
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    84
	 * Build type text for release (urel) builds.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    85
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    86
	private static final String BUILD_TYPE_RELEASE_STR = Messages.getString("SelectBuildTargetWizardPage.BuildType_Release_InfoMsg");	 //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    87
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    88
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    89
	 * Build type text for release (urel) builds.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    90
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    91
	private static final String BUILD_TYPE_DEBUG_STR = Messages.getString("SelectBuildTargetWizardPage.BuildType_Debug_InfoMsg");	 //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    92
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    93
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    94
	 * Style bits used for read only labels.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    95
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    96
	private static final int READ_ONLY_LABEL_FIELD_STYLEBITS = SWT.READ_ONLY | SWT.NO_FOCUS;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    97
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    98
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    99
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   100
	 * States used to store the button state
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   101
	 * result based on the multiselection.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   102
	 * The actual resolution of button statuses
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   103
	 * is done after the state for current selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   104
	 * is resolved.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   105
	 * 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   106
	 * Cancel can be pressed in wizard regardless of the state.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   107
	 * The order of the state's under this enumerator is IMPORTANT!
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   108
	 * Because values run from 0...N the states with bigger value
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   109
	 * are regarded as more important problems to be reported to 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   110
	 * a user in case there are more than one problem issue in 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   111
	 * multiselection. I.e. problems that prohibit proceeding 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   112
	 * in the wizard.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   113
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   114
	private enum TargetSelStateEnum {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   115
						 EStateNotSet,                        // Initial state that should not exist after target check.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   116
						 EAllTargetCachesUpToDate, 	          // => Can press Next not Finish,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   117
						 ECacheNotGeneratedForSomeTarget,     // => Can press Next or Finish 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   118
						 ECacheNeedsUpdateForSomeTarget,      // => Can press Next or Finish 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   119
						 ESISFileCacheNeedsToBeGenerated, 	  // => Can press Next or Finish, generation will be started
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   120
						 EDumpsisDoesNotExist,                // => Cannot press Next nor Finish, dumpsis.exe does not exist, checked when in SIS analysis mode
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   121
						 EElftranDoesNotExist,                 // => Cannot press Next nor Finish
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   122
						 ECachesIsBeingIndexedForSomeTarget,  // => Cannot press Next nor Finish
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   123
						 ENoComponentsForSomeTarget,          // => Cannot press Next nor Finish
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   124
						 EInvalidToolchainMix,                // => Cannot press Next nor Finish
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   125
						 ESomeTargetNotSupported,             // => Cannot press Next nor Finish
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   126
						 ESomeTargetStateNotResolved,         // => Cannot press Next nor Finish
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   127
						 ECacheIsBeingGeneratedForSomeTarget // => Cannot press Next nor Finish, severity changed into this level because cache generation forbids actions for whole SDK 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   128
		 								};
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   129
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   130
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   131
	 * Title for the currently selected SDK.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   132
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   133
	private Text sdkNameFieldTitleText;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   134
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   135
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   136
	 * Name of the currently selected SDK.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   137
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   138
	private Text sdkNameFieldValueText;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   139
		 								
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   140
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   141
	 * Title for the currently used build type.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   142
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   143
	private Text buildTypeFieldTitleText;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   144
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   145
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   146
	 * Name of the currently the currently used build type.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   147
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   148
	private Text buildTypeFieldValueText;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   149
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   150
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   151
	 * Viewer component for showing available targets.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   152
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   153
	private CheckboxTableViewer buildTargetViewer;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   154
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   155
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   156
	 * Checkbox that can be used to toggle between showing
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   157
	 * of release and debug build type targets.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   158
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   159
	private Button showDebugTargetsInsteadOfReleaseTargetsCheckbox;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   160
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   161
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   162
	 * Checkbox that can be used to limit amount of showed 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   163
	 * targets into supported and non-empty ones.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   164
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   165
	private Button showOnlySupportedAndNonEmptyTargetsCheckbox;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   166
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   167
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   168
	 * Content provider for the viewer component.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   169
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   170
	private SelectBuildTargetWizardPageContentProvider contentProvider;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   171
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   172
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   173
	 * This field determines the current status for the selection of multiple
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   174
	 * targets.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   175
	 * IMPORTANT: Value should be set always by using setSelectionState method, not directly
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   176
	 *            unless purpose is to initialize, or re-initialize the value!
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   177
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   178
	private TargetSelStateEnum selectionState = TargetSelStateEnum.EStateNotSet;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   179
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   180
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   181
	 * This filter is used to filter target viewer elements based on the build type.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   182
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   183
	private BuildTargetSelectionBuildTypeFilter buildTypeFilter;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   184
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   185
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   186
	 * Accepts in Build Target Selection -wizard page only the targets
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   187
	 * that are non-empty or supported. 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   188
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   189
	private BuildTargetSelectionNonEmptyAndNonSuppTargetFilter nonEmptyAndNonSuppTargetFilter;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   190
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   191
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   192
	 * Set to <code>true</code> if programmatic selection is ongoing, otherwise <code>false</code>.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   193
	 * If programmatic selection is ongoing and therefore
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   194
	 * not need to trigger similar event handling as due to UI selection.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   195
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   196
	private boolean isProgrammaticSelectionOngoingFlag;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   197
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   198
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   199
	 * Open Add SIS files dialog -button
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   200
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   201
	private Button addSISFilesButton = null;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   202
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   203
	 /**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   204
	 * Constructor.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   205
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   206
	public SelectBuildTargetWizardPage(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   207
		super(Messages.getString("SelectBuildTargetWizardPage.WizardPageName")); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   208
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   209
		setTitle(Messages.getString("SelectBuildTargetWizardPage.WizardPageTitle"));			 //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   210
		setDescription(Messages.getString("SelectBuildTargetWizardPage.WizardPageDescription"));  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   211
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   212
		// User cannot finish the page before some valid 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   213
		// selection is made.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   214
		setPageComplete(false);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   215
	 }
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   216
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   217
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   218
	 * Creates checkbox viewer component for showing build targets. 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   219
	 * @param parent Parent composite for the created composite.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   220
	 * @return New <code>CheckboxTableViewer</code> object instance.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   221
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   222
	protected CheckboxTableViewer createBuildTargetTableViewer(Composite parent) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   223
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   224
		ArrayList<S60ToolsTableColumnData> columnDataArr = new ArrayList<S60ToolsTableColumnData>();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   225
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   226
		//
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   227
		// NOTE: Column indices must start from zero (0) and
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   228
		// the columns must be added in ascending numeric
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   229
		// order.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   230
		//
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   231
		columnDataArr.add(new S60ToolsTableColumnData(Messages.getString("SelectBuildTargetWizardPage.TargetType_ColumnText"), //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   232
														120,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   233
														BuildTargetEntry.TARGET_TYPE_COLUMN_INDEX,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   234
														BuildTargetTableViewerSorter.CRITERIA_TARGET_TYPE));
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   235
		columnDataArr.add(new S60ToolsTableColumnData(Messages.getString("SelectBuildTargetWizardPage.ComponentCount_ColumnText"),  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   236
														100,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   237
														BuildTargetEntry.COMPONENT_COUNT_COLUMN_INDEX,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   238
														BuildTargetTableViewerSorter.CRITERIA_COMPONENT_COUNT,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   239
														SWT.RIGHT));
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   240
		columnDataArr.add(new S60ToolsTableColumnData(Messages.getString("SelectBuildTargetWizardPage.Status_ColumnText"), //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   241
														160,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   242
														BuildTargetEntry.STATUS_COLUMN_INDEX,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   243
														BuildTargetTableViewerSorter.CRITERIA_STATUS));
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   244
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   245
		S60ToolsTableColumnData[] arr 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   246
				= columnDataArr.toArray(
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   247
									   new S60ToolsTableColumnData[0]);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   248
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   249
		S60ToolsTable tbl = S60ToolsTableFactory.createCheckboxTable(parent, arr);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   250
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   251
		CheckboxTableViewer tblViewer = new CheckboxTableViewer(tbl.getTableInstance());
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   252
		tbl.setHostingViewer(tblViewer);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   253
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   254
		return tblViewer;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   255
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   256
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   257
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   258
	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   259
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   260
	public void createControl(Composite parent) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   261
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   262
	  // Creating one column only sub composite for controls 	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   263
	  Composite c = new Composite(parent, SWT.NONE); 	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   264
	  final int cols = 1;	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   265
	  GridLayout gdl = new GridLayout(cols, false);	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   266
	  GridData gd = new GridData(GridData.FILL_BOTH);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   267
	  c.setLayout(gdl);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   268
	  c.setLayoutData(gd);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   269
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   270
	  // Creating grid layout composite for information labels
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   271
	  Composite titleAreaComposite = new Composite(c, SWT.NONE);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   272
	  GridLayout gdl2 = new GridLayout(2, false);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   273
	  GridData gd2 = new GridData(GridData.FILL_HORIZONTAL);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   274
	  titleAreaComposite.setLayout(gdl2);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   275
	  titleAreaComposite.setLayoutData(gd2);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   276
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   277
	  // Adding SDK and build type information labels
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   278
	  addSDKInformationLabels(titleAreaComposite);	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   279
	  addBuildTypeInformationLabels(titleAreaComposite);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   280
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   281
	  // Creating build target viewer component
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   282
	  buildTargetViewer = createBuildTargetTableViewer(c);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   283
	  GridData targetViewerGd = new GridData(GridData.FILL_BOTH);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   284
	  buildTargetViewer.getControl().setLayoutData(targetViewerGd);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   285
	  buildTargetViewer.setSorter(new BuildTargetTableViewerSorter());
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   286
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   287
	  // Adding checkboxes and Add SIS files -button inside a new composite object
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   288
	  final int compBottomControlsCols = 2;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   289
	  Composite compBottomControls = new Composite(c, SWT.NONE);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   290
	  GridLayout gLToBottomControls = new GridLayout(compBottomControlsCols, false);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   291
	  compBottomControls.setLayout(gLToBottomControls);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   292
	  compBottomControls.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   293
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   294
	  // Checkbox for showing debug build type targets instead of release targets
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   295
	  String checkBoxLabelText = Messages.getString("SelectBuildTargetWizardPage.ShowDebugBuild_CheckboxCaptionText"); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   296
	  // Creating viewer filter for doing filtering according build type	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   297
	  buildTypeFilter = new BuildTargetSelectionBuildTypeFilter(BuildTargetFilterModeEnum.EShowReleaseTargets);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   298
	  showDebugTargetsInsteadOfReleaseTargetsCheckbox = addCheckBoxControl(compBottomControls, checkBoxLabelText, false, 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   299
			  															   buildTypeFilter, null);	 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   300
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   301
	  // Adding SIS file addition dialog launching button		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   302
	  addSISFilesButton = new Button(compBottomControls, SWT.PUSH );
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   303
	  addSISFilesButton.setText(Messages.getString("SelectBuildTargetWizardPage.AddSISFile_BtnCaptionText"));  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   304
	  addSISFilesButton.addSelectionListener(this);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   305
	  GridData gDToButton = new GridData(GridData.HORIZONTAL_ALIGN_END);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   306
	  addSISFilesButton.setLayoutData(gDToButton);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   307
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   308
	  // Checkbox for showing only supported and non-empty targets
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   309
	  checkBoxLabelText = Messages.getString("SelectBuildTargetWizardPage.ShowSupportedAndNonEmptyTargets_CheckboxCaptionText"); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   310
	  // Creating viewer filter for checkbox  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   311
	  nonEmptyAndNonSuppTargetFilter = new BuildTargetSelectionNonEmptyAndNonSuppTargetFilter(true);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   312
	  GridData cbLayoutData2 = new GridData(GridData.GRAB_HORIZONTAL);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   313
	  showOnlySupportedAndNonEmptyTargetsCheckbox = addCheckBoxControl(compBottomControls, checkBoxLabelText, true, 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   314
			  														   nonEmptyAndNonSuppTargetFilter, cbLayoutData2);	 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   315
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   316
	  // Providers cannot be created before all the controls have been created
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   317
	  setProvidersAndListenersForBuildTargetViewer();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   318
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   319
	  // Setting initial focus of the wizard page
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   320
	  setInitialFocus();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   321
	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   322
	  // Setting control for this page
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   323
	  setControl(c);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   324
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   325
	  // Setting context help ID	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   326
      AppDepPlugin.setContextSensitiveHelpID(getControl(), AppDepHelpContextIDs.APPDEP_WIZARD_PAGE_BUILD_TARGET_SELECT);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   327
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   328
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   329
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   330
	 * Adds checkbox control with given parameters.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   331
	 * @param compBottomControls Parent composite.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   332
	 * @param checkBoxLabelText	 Label text for the checkbox.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   333
	 * @param initialSelectionStatus set to <code>true</code> if initially selected, otherwise <code>false</code>. 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   334
	 * @param filter Filter to be applied related to checkbox, or <code>null</code> if not used.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   335
	 * @param gdData grid data to be applied related to checkbox, or <code>null</code> if not used.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   336
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   337
	private Button addCheckBoxControl(Composite compBottomControls, String checkBoxLabelText, boolean initialSelectionStatus, 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   338
									  ViewerFilter filter, GridData gdData) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   339
		  Button checkboxControl  = new Button(compBottomControls, SWT.CHECK);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   340
		  checkboxControl.setText(checkBoxLabelText);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   341
		  checkboxControl.setSelection(initialSelectionStatus); // By default showing release targets
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   342
		  checkboxControl.addSelectionListener(this);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   343
		  if(filter != null){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   344
			  buildTargetViewer.addFilter(filter);			  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   345
		  }
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   346
		  if(gdData != null){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   347
			  checkboxControl.setLayoutData(gdData);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   348
		  }
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   349
		  return checkboxControl;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   350
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   351
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   352
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   353
	 * Adds SDK information labels.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   354
	 * @param titleAreaComposite parent composite to labels.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   355
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   356
	private void addSDKInformationLabels(Composite titleAreaComposite) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   357
		  sdkNameFieldTitleText = new Text(titleAreaComposite, READ_ONLY_LABEL_FIELD_STYLEBITS);	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   358
		  String titleText = Messages.getString("SelectBuildTargetWizardPage.SDK_Str") + ": "; //$NON-NLS-1$ //$NON-NLS-2$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   359
		  sdkNameFieldTitleText.setText(titleText); 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   360
		  sdkNameFieldTitleText.addFocusListener(this);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   361
		  sdkNameFieldValueText = new Text(titleAreaComposite, READ_ONLY_LABEL_FIELD_STYLEBITS);	  	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   362
		  sdkNameFieldValueText.addFocusListener(this);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   363
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   364
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   365
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   366
	 * Adds build type information labels.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   367
	 * @param titleAreaComposite parent composite to labels.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   368
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   369
	private void addBuildTypeInformationLabels(Composite titleAreaComposite) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   370
		buildTypeFieldTitleText = new Text(titleAreaComposite, READ_ONLY_LABEL_FIELD_STYLEBITS);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   371
		buildTypeFieldTitleText.setText(Messages.getString("SelectBuildTargetWizardPage.BuildType_Str") + ": ");	   //$NON-NLS-1$ //$NON-NLS-2$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   372
		buildTypeFieldTitleText.addFocusListener(this);	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   373
		buildTypeFieldValueText = new Text(titleAreaComposite, READ_ONLY_LABEL_FIELD_STYLEBITS);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   374
		// Setting default build type value...
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   375
		buildTypeFieldValueText.setText(BUILD_TYPE_RELEASE_STR);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   376
		// ...and storing the default value also to dialog settings
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   377
		updateDialogSettings(SelectSDKWizard.BUILD_TYPE_DESCR_DLG_SETTING_KEY, BUILD_TYPE_RELEASE_STR);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   378
		buildTypeFieldValueText.addFocusListener(this);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   379
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   380
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   381
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   382
	 * Sets providers and listeners for build target viewer control.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   383
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   384
	private void setProvidersAndListenersForBuildTargetViewer() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   385
		contentProvider = new SelectBuildTargetWizardPageContentProvider(this);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   386
		  buildTargetViewer.setContentProvider(contentProvider); 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   387
		  buildTargetViewer.setLabelProvider(new SelectBuildTargetWizardPageLabelProvider());
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   388
		  buildTargetViewer.setInput(contentProvider);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   389
		  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   390
		  // Adding selection change listener
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   391
		  buildTargetViewer.addSelectionChangedListener(new ISelectionChangedListener(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   392
				/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   393
				 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   394
				 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   395
				public void selectionChanged(SelectionChangedEvent event) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   396
					// Triggering status recalculation only if non-programmatic selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   397
					if(! isProgrammaticSelectionOngoing()){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   398
						 // Skipping programmatic selection because we are sure that event came from UI selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   399
						recalculateButtonStates(true, null); 								
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   400
					}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   401
				}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   402
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   403
		  });
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   404
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   405
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   406
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   407
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   408
	 * @see com.nokia.s60tools.appdep.ui.wizards.S60ToolsWizardPage#setInitialFocus()
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   409
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   410
	public void setInitialFocus() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   411
		buildTargetViewer.getTable().setFocus();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   412
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   413
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   414
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   415
	 * @see com.nokia.s60tools.appdep.ui.wizards.S60ToolsWizardPage#recalculateButtonStates()
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   416
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   417
	public void recalculateButtonStates() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   418
		// By default we check, if programmatic selection is possible
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   419
		recalculateButtonStates(false, null);		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   420
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   421
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   422
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   423
	 * Page specific recalculate buttons implementation.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   424
	 * @param skipProgrammaticSelectionCheck set to <code>true</code> if needed to skip, automatic programmatic
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   425
	 * 										 selection based on current settings, otherwise set to <code>false</code>.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   426
	 * @param forceCheckedEntriesArr If this is not <code>null</code>, using these entries instead of current selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   427
	 * 								 if current selection do not have any components (used in double-click event).			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   428
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   429
	public void recalculateButtonStates(boolean skipProgrammaticSelectionCheck, Object[] forceCheckedEntriesArr) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   430
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   431
		try {			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   432
			SelectSDKWizard wiz = (SelectSDKWizard) getWizard();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   433
			AppDepSettings settings = wiz.getSettings();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   434
			Object[] checkedEntriesArr = buildTargetViewer.getCheckedElements();; // Getting all checked targets
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   435
			if(checkedEntriesArr.length == 0 && forceCheckedEntriesArr != null){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   436
				// Using forced target set instead
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   437
				checkedEntriesArr = forceCheckedEntriesArr;								
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   438
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   439
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   440
			// Re-initializing selection state
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   441
			selectionState = TargetSelStateEnum.EStateNotSet;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   442
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   443
			// If programmatic selection is not skipped and there are no target nodes selected...
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   444
			if( checkedEntriesArr.length == 0){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   445
				// Trying to make selection based on the settings if allowed according boolean flag
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   446
				if(!skipProgrammaticSelectionCheck && makeProgrammaticElementCheckingBasedOnSettings(settings)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   447
					// Getting all targets checked by programmatic selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   448
					checkedEntriesArr = buildTargetViewer.getCheckedElements(); 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   449
					if(checkedEntriesArr.length == 0){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   450
						// Trying to avoid internal errors, but this is something that should be trapped during 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   451
						// development time. Internal error messages are not localized.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   452
						String errMsg = "Programmatic selection failed unexpectedly in class '" //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   453
										+ SelectBuildTargetWizardPage.class.getSimpleName()
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   454
										+ "'."; //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   455
						LogUtils.logInternalErrorAndThrowException(errMsg);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   456
						return;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   457
					}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   458
				}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   459
				else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   460
					// Failed to make programmatic selection, or programmatic selection was skipped.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   461
					// Making sure that no targets are selected in settings
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   462
					settings.clearCurrentlyUsedTargetPlatforms();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   463
					// And showing initial message, because no items are selected currently
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   464
					showInitialStateMessage(wiz);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   465
					//.. and returning
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   466
					return; 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   467
				}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   468
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   469
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   470
			// Going through all the selected nodes one by one and setting selection state.	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   471
			// State can be multiple times during method execution because only more severe
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   472
			// error state will override existing selection state. 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   473
			// See comment block from TargetSelStateEnum enumeration for detailed info.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   474
			List<BuildTargetEntry> selectedTargetsArr = new ArrayList<BuildTargetEntry>();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   475
			// SDK information is needed for finding out SDK supports required tools (dumpsis.exe and elftran.exe)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   476
			SdkInformation sdkInfo = getSelectedSdk();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   477
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   478
			// Checking if we are in SIS mode and settings selection state if needed
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   479
			checkSISModeStatusAndSetSelectionStateIfNeeded(settings, sdkInfo);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   480
						
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   481
			DbgUtility.println(DbgUtility.PRIORITY_LOOP, "----- Checked items START ==>"); // //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   482
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   483
			//Recalculate state based on the selection made by a user
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   484
			for (int i = 0; i < checkedEntriesArr.length; i++) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   485
				// Casting selected node to correct type
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   486
				BuildTargetEntry targetEntry = (BuildTargetEntry) checkedEntriesArr[i];
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   487
				// Debug printing checked items
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   488
				DbgUtility.println(DbgUtility.PRIORITY_LOOP, targetEntry.getTargetDescription()); 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   489
				// Added target to target selection array
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   490
				selectedTargetsArr.add(targetEntry);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   491
				// Resolves selection state based on target's status
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   492
				BuildTargetStatusEnum status = targetEntry.getStatus();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   493
				setSelectionStateBasedOnTargetStatus(settings, sdkInfo, status, targetEntry.getTargetName());
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   494
				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   495
				// In case we are about to generate/update cache files...
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   496
				if(selectionState == TargetSelStateEnum.ECacheNotGeneratedForSomeTarget
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   497
				    ||
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   498
				   selectionState == TargetSelStateEnum.ECacheNeedsUpdateForSomeTarget
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   499
				    ||
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   500
				   selectionState == TargetSelStateEnum.ESISFileCacheNeedsToBeGenerated){					
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   501
					//... we finally check, if we cannot start cache generation due to fact
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   502
					// that there is already a cache generation process for this SDK ongoing.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   503
					if(settings.isCacheGenerationOngoingForSdk(sdkInfo)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   504
						setSelectionState(TargetSelStateEnum.ECacheIsBeingGeneratedForSomeTarget);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   505
					}					
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   506
				}				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   507
			} 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   508
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   509
			DbgUtility.println(DbgUtility.PRIORITY_LOOP, "<== Checked items END -----"); // //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   510
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   511
			// Checking that the selected combination is otherwise valid.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   512
			// Updates selection state accordingly. Must be called before
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   513
			// page completion check and before settings button statuses.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   514
			CheckValidityOfTargetSelection(selectedTargetsArr, settings);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   515
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   516
			// Storing user selection if we have a valid selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   517
			boolean isPageCompleted = checkPageCompleteStatus();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   518
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   519
			//If page is completed it means there is a valid selection existing
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   520
			if(isPageCompleted){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   521
				// Storing user selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   522
				wiz.setUserSelection(sdkInfo, selectedTargetsArr.toArray(new BuildTargetEntry[0]));
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   523
			}			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   524
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   525
			// Setting buttons states and visible messages according selection state.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   526
			// Must be called before calling updateInformationForNextPage.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   527
			setUserMessageAndButtonState(wiz, isPageCompleted, selectedTargetsArr);		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   528
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   529
		} catch (Exception e) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   530
			e.printStackTrace(); // Development time trace.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   531
			String errMsg = e.getMessage();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   532
			LogUtils.logStackTrace(errMsg , e); // Trace for production environment
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   533
			throw new RuntimeException(errMsg); // Mapping exception to anonymous run-time error
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   534
		}		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   535
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   536
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   537
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   538
	 * Shows initial message in state when there are no checked items.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   539
	 * @param wiz Wizard instance for setting button statuses.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   540
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   541
	private void showInitialStateMessage(SelectSDKWizard wiz) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   542
		this.setMessage(Messages.getString("SelectBuildTargetWizardPage.Startup_InfoMsg"));  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   543
		this.setErrorMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   544
		setPageComplete(false);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   545
		// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   546
		wiz.disableCanFinish();																								
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   547
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   548
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   549
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   550
	 * Checks possible SIS mode and sets selections state if needed.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   551
	 * @param settings settings used to check mode
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   552
	 * @param sdkInfo selected SDK
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   553
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   554
	private void checkSISModeStatusAndSetSelectionStateIfNeeded(AppDepSettings settings, SdkInformation sdkInfo) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   555
		//If we are about to add SIS files to be analyzed
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   556
		if(settings.isInSISFileAnalysisMode()){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   557
			//Setting initial state as SIS generation (in the following for loop only 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   558
			//more serious errors will overwrite this state)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   559
			if(!settings.isDumpsisAvailable(sdkInfo)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   560
				//If we are in SIS Analysis mode and there is no dumpsis.exe available
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   561
				setSelectionState(TargetSelStateEnum.EDumpsisDoesNotExist);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   562
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   563
			else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   564
				// Dumpsis available and we can continue into cache creation.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   565
				setSelectionState(TargetSelStateEnum.ESISFileCacheNeedsToBeGenerated);					
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   566
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   567
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   568
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   569
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   570
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   571
	 * Makes programmatic checking of elements based on the given settings if possible.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   572
	 * @param settings settings to be used for resolving the targets to be checked.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   573
	 * @return <code>true</code> if selection was made successfully, otherwise <code>false</code>.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   574
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   575
	private boolean makeProgrammaticElementCheckingBasedOnSettings(
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   576
			AppDepSettings settings) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   577
		// ...checking if we can create a selection based on the
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   578
		// currently used SDK and target platform information.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   579
		Object[] objectArr = resolveTargetsBasedOnCurrentSettings(settings);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   580
		if(objectArr.length  > 0){			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   581
			// No normal events triggered on programmatic selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   582
			setProgrammaticSelectionOngoingFlag(true);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   583
			for (int i = 0; i < objectArr.length; i++) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   584
				Object object = objectArr[i];
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   585
				buildTargetViewer.setChecked(object, true);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   586
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   587
			// Back to normal event handling
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   588
			setProgrammaticSelectionOngoingFlag(false); 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   589
			return true; // Selection was made successfully
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   590
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   591
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   592
		return false; // Could not make selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   593
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   594
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   595
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   596
	 * Checks build target's status and sets current selection state flag accordingly.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   597
	 * @param settings current settings
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   598
	 * @param sdkInfo Selected SDK
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   599
	 * @param status build target status
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   600
	 * @param buildTargetId Build target id to based on which set status.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   601
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   602
	private void setSelectionStateBasedOnTargetStatus(AppDepSettings settings,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   603
			SdkInformation sdkInfo, BuildTargetStatusEnum status, String buildTargetId) throws Exception{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   604
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   605
		switch (status) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   606
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   607
		case ENotSupported:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   608
			// If the selected target is not supported, there is no sense to check
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   609
			// other selections, because this is the most severe selection error.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   610
			setSelectionState(TargetSelStateEnum.ESomeTargetNotSupported);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   611
			break;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   612
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   613
		case EEmptyTarget:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   614
			setSelectionState(TargetSelStateEnum.ENoComponentsForSomeTarget);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   615
			break;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   616
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   617
		case ECacheNeedsUpdate:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   618
			if(settings.areToolsRequiredByCoreAvailable(sdkInfo, buildTargetId)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   619
				// Informing about cache update need if elftran.exe available
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   620
				setSelectionState(TargetSelStateEnum.ECacheNeedsUpdateForSomeTarget);									
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   621
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   622
			else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   623
				// Otherwise informing used that elftran is not available
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   624
				setSelectionState(TargetSelStateEnum.EElftranDoesNotExist);														
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   625
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   626
			break;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   627
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   628
		case ENoCache:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   629
			if(settings.areToolsRequiredByCoreAvailable(sdkInfo, buildTargetId)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   630
				// Informing about cache creation need if elftran.exe available
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   631
				setSelectionState(TargetSelStateEnum.ECacheNotGeneratedForSomeTarget);							
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   632
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   633
			else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   634
				// Otherwise informing used that elftran is not available
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   635
				setSelectionState(TargetSelStateEnum.EElftranDoesNotExist);														
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   636
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   637
			break;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   638
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   639
		case ECachesIsBeingIndexed:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   640
			setSelectionState(TargetSelStateEnum.ECachesIsBeingIndexedForSomeTarget);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   641
			break;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   642
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   643
		case ECacheIsBeingGenerated:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   644
			setSelectionState(TargetSelStateEnum.ECacheIsBeingGeneratedForSomeTarget);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   645
			break;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   646
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   647
		case ECacheReady:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   648
			setSelectionState(TargetSelStateEnum.EAllTargetCachesUpToDate);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   649
			break;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   650
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   651
		default:
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   652
			// Trying to avoid internal errors, but this is something that should be trapped during development time.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   653
			// Because this method should be capable of handling all enum values and should be modified
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   654
			// accordingly if new enum values are added. Internal error messages are not localised.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   655
			String errMsg = "Unexpected enum value for enumerator '" //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   656
							+ BuildTargetStatusEnum.class.getSimpleName()
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   657
							+ "': " //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   658
							+ status.toString();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   659
			LogUtils.logInternalErrorAndThrowException(errMsg);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   660
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   661
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   662
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   663
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   664
	 * Checks that the selected target combination is valid.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   665
	 * @param selectedTargetsArr Selected nodes to be checked for validity.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   666
	 * @param st Settings object to query settings related information from.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   667
	 * @return <code>true</code> if we have valid target selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   668
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   669
	private void CheckValidityOfTargetSelection(List<BuildTargetEntry> selectedTargetsArr, AppDepSettings st) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   670
		// Only sensible to check if there is multiselection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   671
		if(selectedTargetsArr.size() > 1){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   672
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   673
			// Checking that each target use the same default toolchain
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   674
			String targetNameFirst = selectedTargetsArr.get(0).getTargetName();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   675
			try {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   676
				String toolchainFirst = st.getDefaultToolchainForTarget(targetNameFirst).getToolchainName();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   677
				for (int i = 1; i < selectedTargetsArr.size(); i++) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   678
					String targetName = selectedTargetsArr.get(i).getTargetName();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   679
					String toolchain = st.getDefaultToolchainForTarget(targetName).getToolchainName();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   680
					if(!toolchain.equals(toolchainFirst)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   681
						setSelectionState(TargetSelStateEnum.EInvalidToolchainMix);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   682
					}				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   683
				}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   684
			} catch (InvalidCmdLineToolSettingException e) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   685
				// We might get this exception when user has selected platform that is not supported.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   686
				// Just debug printing for development purposes for logging possible internal errors.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   687
				DbgUtility.println(DbgUtility.PRIORITY_OPERATION, e.getMessage());
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   688
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   689
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   690
		}		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   691
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   692
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   693
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   694
	 * Checks page completion status based on selection state.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   695
	 * Return status tells if flip to next page is allowed.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   696
	 * @return <code>true</code> if page can be completed, otherwise <code>false</code>.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   697
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   698
	boolean checkPageCompleteStatus(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   699
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   700
		boolean pageCompleteStatus = false;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   701
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   702
		if(selectionState.equals(TargetSelStateEnum.EAllTargetCachesUpToDate)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   703
			// Can proceed to component selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   704
			pageCompleteStatus = true;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   705
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   706
		else if(selectionState.equals(TargetSelStateEnum.ECacheNotGeneratedForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   707
			// Can proceed for cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   708
			pageCompleteStatus = true;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   709
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   710
		else if(selectionState.equals(TargetSelStateEnum.ECacheNeedsUpdateForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   711
			// Can proceed for cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   712
			pageCompleteStatus = true;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   713
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   714
		else if(selectionState.equals(TargetSelStateEnum.ESISFileCacheNeedsToBeGenerated)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   715
			// Can proceed for cache generation options or start SIS cache generation
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   716
			pageCompleteStatus = true;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   717
		}				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   718
		else if(selectionState.equals(TargetSelStateEnum.EDumpsisDoesNotExist)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   719
			// Cannot proceed for cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   720
			pageCompleteStatus = false;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   721
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   722
		else if(selectionState.equals(TargetSelStateEnum.EElftranDoesNotExist)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   723
			// Cannot proceed for cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   724
			pageCompleteStatus = false;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   725
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   726
		else if(selectionState.equals(TargetSelStateEnum.ECachesIsBeingIndexedForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   727
			// Cannot proceed until index has been created
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   728
			pageCompleteStatus = false;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   729
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   730
		else if(selectionState.equals(TargetSelStateEnum.ECacheIsBeingGeneratedForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   731
			// Cannot proceed until cache has been created for this SKD's target
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   732
			pageCompleteStatus = false;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   733
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   734
		else if(selectionState.equals(TargetSelStateEnum.ENoComponentsForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   735
			// Cannot proceed if some selection does not have components
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   736
			pageCompleteStatus = false;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   737
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   738
		else if(selectionState.equals(TargetSelStateEnum.ESomeTargetNotSupported)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   739
			// Cannot proceed if some target is not supported
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   740
			pageCompleteStatus = false;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   741
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   742
		else if(selectionState.equals(TargetSelStateEnum.EInvalidToolchainMix)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   743
			// Cannot proceed if toolchain mix is not allowed
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   744
			pageCompleteStatus = false;				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   745
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   746
		else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   747
			// Trying to avoid internal errors, but this is something that should be trapped during 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   748
			// development time. Internal error messages are not localized.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   749
			LogUtils.logInternalErrorAndThrowException("Unexpected target selection state:" + selectionState.ordinal()); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   750
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   751
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   752
		return pageCompleteStatus;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   753
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   754
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   755
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   756
	 * Sets user messages and button enable/disable states according the current selection state.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   757
	 * @param wiz Wizard object needed for settings button enable/disable states.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   758
	 * @param isPageCompleted Page completion status returned by <code>checkPageCompleteStatus</code>.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   759
	 * @param selectedTargetsArr Currently selected targets.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   760
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   761
	private void setUserMessageAndButtonState(SelectSDKWizard wiz, boolean isPageCompleted, List<BuildTargetEntry> selectedTargetsArr) throws Exception{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   762
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   763
		//
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   764
		// Settings user messages and button state according the selection state
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   765
		//
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   766
		if(selectionState.equals(TargetSelStateEnum.EAllTargetCachesUpToDate)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   767
			this.setMessage(Messages.getString("SelectBuildTargetWizardPage.Press_Next_To_Continue")); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   768
			this.setErrorMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   769
			setPageComplete(isPageCompleted);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   770
			// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   771
			wiz.disableCanFinish();																								
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   772
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   773
		else if(selectionState.equals(TargetSelStateEnum.ECacheNotGeneratedForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   774
			this.setMessage(Messages.getString("SelectBuildTargetWizardPage.Cache_Generation_Needed") //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   775
					+ Messages.getString("SelectBuildTargetWizardPage.Press_Finish_To_Start_Generation") //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   776
					+ Messages.getString("SelectBuildTargetWizardPage.Press_Next_To_To_Modify_Generation_Options"),  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   777
					    IMessageProvider.WARNING);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   778
			this.setErrorMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   779
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   780
			// Updating available cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   781
			wiz.setDefaultCacheGenerationOptionsBasedOnTheSelectedTarget();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   782
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   783
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   784
			// Pressing Finish in order to 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   785
			// start cache generation is allowed.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   786
			wiz.enableCanFinish(ISelectSDKWizard.FINISH_CACHE_CREATION);			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   787
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   788
		else if(selectionState.equals(TargetSelStateEnum.ECacheNeedsUpdateForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   789
			this.setMessage(Messages.getString("SelectBuildTargetWizardPage.Cache_Needs_Update"),  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   790
					    IMessageProvider.WARNING);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   791
			this.setErrorMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   792
			// Updating available cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   793
			wiz.setDefaultCacheGenerationOptionsBasedOnTheSelectedTarget();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   794
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   795
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   796
			// User is also allowed to press Finish, 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   797
			// and start cache update with default generation
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   798
			// options.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   799
			wiz.enableCanFinish(ISelectSDKWizard.FINISH_CACHE_CREATION);										
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   800
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   801
		else if(selectionState.equals(TargetSelStateEnum.ESISFileCacheNeedsToBeGenerated)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   802
			// Can proceed for cache generation options or start SIS cache generation
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   803
			this.setMessage(Messages.getString("SelectBuildTargetWizardPage.Cache_Generation_Needed_For_SIS_Files") //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   804
					+ Messages.getString("SelectBuildTargetWizardPage.Press_Finish_To_Start_Generation") //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   805
					+ Messages.getString("SelectBuildTargetWizardPage.Press_Next_To_To_Modify_Generation_Options"),  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   806
					    IMessageProvider.WARNING);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   807
			this.setErrorMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   808
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   809
			// Updating available cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   810
			wiz.setDefaultCacheGenerationOptionsBasedOnTheSelectedTarget();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   811
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   812
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   813
			// Pressing Finish in order to 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   814
			// start cache generation is allowed.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   815
			wiz.enableCanFinish(ISelectSDKWizard.FINISH_CACHE_CREATION);			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   816
		}					
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   817
		else if(selectionState.equals(TargetSelStateEnum.EDumpsisDoesNotExist)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   818
			this.setMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   819
			this.setErrorMessage(Messages.getString("SelectBuildTargetWizardPage.Dumpsis.exe_Does_Not_Exist_ErrorMsg")); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   820
			// Cannot proceed for cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   821
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   822
			// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   823
			wiz.disableCanFinish();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   824
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   825
		else if(selectionState.equals(TargetSelStateEnum.EElftranDoesNotExist)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   826
			this.setMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   827
			// If we end-up here, there is at least a single target selected
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   828
			String targetId = selectedTargetsArr.get(0).getTargetName(); // and all selected targets must use same toolchain (=dump tool)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   829
			String errMsgFormatString = Messages.getString("SelectBuildTargetWizardPage.BinaryDumpTool_Does_Not_Exist_ErrorMsg"); //$NON-NLS-1$		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   830
			this.setErrorMessage(String.format(errMsgFormatString, wiz.getSettings().getCurrentlyUsedCoreDumpToolName(targetId))); 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   831
			// Cannot proceed for cache generation options
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   832
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   833
			// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   834
			wiz.disableCanFinish();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   835
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   836
		else if(selectionState.equals(TargetSelStateEnum.ECachesIsBeingIndexedForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   837
			this.setMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   838
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   839
			this.setMessage(Messages.getString("SelectBuildTargetWizardPage.Cache_Index_Not_Yet_Created"),  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   840
				    IMessageProvider.WARNING);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   841
		    this.setErrorMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   842
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   843
			// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   844
			wiz.disableCanFinish();										
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   845
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   846
		else if(selectionState.equals(TargetSelStateEnum.ECacheIsBeingGeneratedForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   847
			this.setMessage(Messages.getString("SelectBuildTargetWizardPage.Cache_Is_Being_Generated"),  //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   848
					    IMessageProvider.WARNING);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   849
			this.setErrorMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   850
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   851
			// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   852
			wiz.disableCanFinish();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   853
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   854
		else if(selectionState.equals(TargetSelStateEnum.ENoComponentsForSomeTarget)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   855
			// Disabling operations if there are not components built
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   856
			this.setMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   857
			this.setErrorMessage(Messages.getString("SelectBuildTargetWizardPage.Selected_Target_Does_Not_Have_BuiltComponents")); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   858
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   859
			// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   860
			wiz.disableCanFinish();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   861
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   862
		else if(selectionState.equals(TargetSelStateEnum.ESomeTargetNotSupported)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   863
			this.setMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   864
			this.setErrorMessage(Messages.getString("SelectBuildTargetWizardPage.Target_Not_Supported")); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   865
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   866
			// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   867
			wiz.disableCanFinish();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   868
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   869
		else if(selectionState.equals(TargetSelStateEnum.EInvalidToolchainMix)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   870
			// Disabling operations if there cross-SDK/Platform target selections 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   871
			this.setMessage(null);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   872
			this.setErrorMessage(Messages.getString("SelectBuildTargetWizardPage.Invalid_Toolchain_Mix_ErrorMsg")); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   873
			setPageComplete(isPageCompleted);				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   874
			// Finishing is forbidden
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   875
			wiz.disableCanFinish();									
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   876
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   877
		else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   878
			// Trying to avoid internal errors, but this is something that should be trapped during 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   879
			// development time. Internal error messages are not localized.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   880
			LogUtils.logInternalErrorAndThrowException("Unexpected target selection state:" + selectionState.ordinal()); //$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   881
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   882
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   883
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   884
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   885
	 * Resolve the target node based on the given settings.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   886
	 * @param settings Settings to get environment data from,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   887
	 * @return Wizard node matching with current settings, or 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   888
	 *         <code>null</code> if not found. 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   889
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   890
	private Object[] resolveTargetsBasedOnCurrentSettings(AppDepSettings settings) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   891
		ArrayList<Object> objs = new ArrayList<Object>();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   892
		SdkInformation sdkInfo = settings.getCurrentlyUsedSdk();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   893
		ITargetPlatform[] targetPlatforms = settings.getCurrentlyUsedTargetPlatforms();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   894
		String buildTypeString = settings.getBuildType().getBuildTypeName();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   895
		if(sdkInfo != null && targetPlatforms.length > 0){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   896
			// Trying to resolve correct nodes
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   897
			for (int i = 0; i < targetPlatforms.length; i++) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   898
				ITargetPlatform platform = targetPlatforms[i];
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   899
				String targetPlatformId = platform.getId();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   900
				if(!targetPlatformId.equals(AppDepSettings.TARGET_TYPE_ID_SIS)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   901
					Object obj = contentProvider.find(sdkInfo.getSdkId(),targetPlatformId,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   902
	                        buildTypeString);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   903
	                if(obj!= null){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   904
	                	objs.add(obj);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   905
	                }									
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   906
				}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   907
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   908
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   909
		return objs.toArray();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   910
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   911
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   912
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   913
	 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   914
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   915
	public void widgetSelected(SelectionEvent event) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   916
		try {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   917
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   918
			final Widget w = event.widget;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   919
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   920
			// Addi SIS files -button pressed?
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   921
			if(w.equals(addSISFilesButton)){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   922
				addSISFilesButtonPressed();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   923
				return;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   924
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   925
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   926
			// Otherwise we have been registered only to listen checkboxes, so we are always sure 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   927
			// that we do not get any other events than those already checked above.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   928
			Runnable checkboxRunnable = new Runnable(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   929
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   930
				public void run() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   931
					if (w.equals(showOnlySupportedAndNonEmptyTargetsCheckbox)) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   932
							boolean isSelected = showOnlySupportedAndNonEmptyTargetsCheckbox.getSelection();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   933
							if(isSelected){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   934
								nonEmptyAndNonSuppTargetFilter.setFilterEnabled(true);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   935
							}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   936
							else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   937
								nonEmptyAndNonSuppTargetFilter.setFilterEnabled(false);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   938
							}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   939
							// Refreshing page contents
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   940
							refresh();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   941
							// And updating button statuses	and message area
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   942
							recalculateButtonStates();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   943
						}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   944
						else if (w.equals(showDebugTargetsInsteadOfReleaseTargetsCheckbox)) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   945
							// Always clearing already made target platform selections when switching mode
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   946
							SelectSDKWizard wiz = (SelectSDKWizard) getWizard();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   947
							wiz.getSettings().clearCurrentlyUsedTargetPlatforms();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   948
							// Switching mode based on the checkbox selection
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   949
							boolean isSelected = showDebugTargetsInsteadOfReleaseTargetsCheckbox.getSelection();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   950
							if(isSelected){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   951
								buildTypeFilter.setFilterMode(BuildTargetFilterModeEnum.EShowDebugTargets);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   952
								buildTypeFieldValueText.setText(BUILD_TYPE_DEBUG_STR);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   953
								updateDialogSettings(SelectSDKWizard.BUILD_TYPE_DESCR_DLG_SETTING_KEY, BUILD_TYPE_DEBUG_STR);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   954
								buildTypeFieldValueText.pack();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   955
							}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   956
							else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   957
								buildTypeFilter.setFilterMode(BuildTargetFilterModeEnum.EShowReleaseTargets);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   958
								buildTypeFieldValueText.setText(BUILD_TYPE_RELEASE_STR);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   959
								updateDialogSettings(SelectSDKWizard.BUILD_TYPE_DESCR_DLG_SETTING_KEY, BUILD_TYPE_RELEASE_STR);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   960
								buildTypeFieldValueText.pack();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   961
							}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   962
							// Refreshing page contents
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   963
							refresh();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   964
							// And updating button statuses	and message area	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   965
							recalculateButtonStates();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   966
						}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   967
					}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   968
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   969
			};
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   970
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   971
			// Showing busy cursor while updating UI because may take some time
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   972
			Display d = getShell().getDisplay();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   973
			BusyIndicator.showWhile(d, checkboxRunnable);			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   974
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   975
		} catch (Exception e) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   976
			e.printStackTrace();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   977
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   978
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   979
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   980
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   981
	 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   982
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   983
	public void widgetDefaultSelected(SelectionEvent event) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   984
		// We can ignore this		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   985
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   986
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   987
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   988
	 * @see com.nokia.s60tools.appdep.core.job.IJobCompletionListener#backgroundJobCompleted(com.nokia.s60tools.appdep.core.job.IManageableJob)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   989
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   990
	public void backgroundJobCompleted(IManageableJob jobObject) {		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   991
		refreshTreeViewerAndButtonsStatusesInUIThread();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   992
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   993
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   994
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   995
	 * Refreshes tree view and updates button statuses.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   996
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   997
	private void refreshTreeViewerAndButtonsStatusesInUIThread() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   998
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   999
		Runnable refreshTreeViewerAndButtonsStatusesRunnable = new Runnable(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1000
			public void run(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1001
				try {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1002
					// Refreshing page contents
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1003
					refresh();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1004
					recalculateButtonStates();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1005
				} catch (Exception e) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1006
					e.printStackTrace();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1007
				}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1008
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1009
		};
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1010
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1011
		// Update request will be done in its own thread
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1012
		// in order not to cause invalid thread access
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1013
		Display.getDefault().asyncExec(refreshTreeViewerAndButtonsStatusesRunnable);		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1014
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1015
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1016
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1017
	 * @see org.eclipse.swt.events.FocusListener#focusGained(org.eclipse.swt.events.FocusEvent)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1018
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1019
	public void focusGained(FocusEvent e) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1020
		Widget w = e.widget;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1021
		if(w.equals(sdkNameFieldTitleText)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1022
			||
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1023
			w.equals(sdkNameFieldValueText)	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1024
			||
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1025
			w.equals(buildTypeFieldTitleText)	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1026
			||
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1027
			w.equals(buildTypeFieldValueText)	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1028
				){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1029
			setInitialFocus();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1030
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1031
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1032
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1033
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1034
	 * @see org.eclipse.swt.events.FocusListener#focusLost(org.eclipse.swt.events.FocusEvent)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1035
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1036
	public void focusLost(FocusEvent e) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1037
		// No need to do anything		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1038
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1039
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1040
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1041
	 * @see com.nokia.s60tools.appdep.core.ICacheIndexListener#cacheIndexCreationCompleted(com.nokia.s60tools.appdep.core.data.CacheIndex)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1042
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1043
	public void cacheIndexCreationCompleted(CacheIndex cacheIndexObj) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1044
		refreshTreeViewerAndButtonsStatusesInUIThread();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1045
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1046
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1047
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1048
	 * @return the selectionState
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1049
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1050
	public TargetSelStateEnum getSelectionState() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1051
		return selectionState;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1052
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1053
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1054
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1055
	 * @param selectionState the selectionState to set
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1056
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1057
	public void setSelectionState(TargetSelStateEnum selectionState) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1058
		// Changing current selection state ordinal is greater than previous
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1059
		if(selectionState.ordinal() > this.selectionState.ordinal()){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1060
			this.selectionState = selectionState;			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1061
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1062
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1063
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1064
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1065
	 * Gets build target viewer component.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1066
	 * @return build target viewer component.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1067
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1068
	public CheckboxTableViewer getBuildTargetViewer() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1069
		return buildTargetViewer;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1070
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1071
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1072
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1073
	 * Gets the SDK selected for the wizard page.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1074
	 * @return SDK selected for the wizard page.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1075
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1076
	public SdkInformation getSelectedSdk() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1077
		AppDepSettings settings = getSettings();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1078
		return settings.getCurrentlyUsedSdk();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1079
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1080
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1081
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1082
	 * Gets settings used for this wizard page.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1083
	 * @return settings used for this wizard page.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1084
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1085
	public AppDepSettings getSettings() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1086
		SelectSDKWizard wiz = (SelectSDKWizard) getWizard();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1087
		return wiz.getSettings();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1088
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1089
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1090
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1091
	 * @see com.nokia.s60tools.appdep.ui.wizards.IRefreshable#refresh()
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1092
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1093
	public void refresh() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1094
		// Refreshing selected SDK text if needed
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1095
		String sdkId = getSelectedSdk().getSdkId();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1096
		if(!sdkId.equals(sdkNameFieldValueText.getText())){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1097
			sdkNameFieldValueText.setText(sdkId);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1098
			sdkNameFieldValueText.pack();			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1099
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1100
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1101
		// Refreshing target table
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1102
		buildTargetViewer.refresh();				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1103
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1104
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1105
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1106
	 * Checking if programmatic selection is ongoing and therefore
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1107
	 * not need to trigger similar event handling as due to UI selection.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1108
	 * @return <code>true</code> if programmatic selection is ongoing, otherwise <code>false</code>.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1109
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1110
	private boolean isProgrammaticSelectionOngoing() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1111
		return isProgrammaticSelectionOngoingFlag;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1112
	}	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1113
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1114
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1115
	 * Sets or unsets programmatic selection flag.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1116
	 * @param isProgrammaticSelectionOngoingFlag <code>true</code> if programmatic selection is ongoing, otherwise <code>false</code>.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1117
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1118
	public void setProgrammaticSelectionOngoingFlag(
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1119
			boolean isProgrammaticSelectionOngoingFlag) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1120
		this.isProgrammaticSelectionOngoingFlag = isProgrammaticSelectionOngoingFlag;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1121
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1122
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1123
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1124
	 * Handles Add SIS files -button press event.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1125
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1126
	public void addSISFilesButtonPressed() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1127
		Shell sh = AppDepPlugin.getCurrentlyActiveWbWindowShell();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1128
		AddSISFilesDialog entryDialog = new AddSISFilesDialog(sh);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1129
		entryDialog.create();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1130
		// If already selected some set of SIS files getting the list...
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1131
		if(getSettings().isInSISFileAnalysisMode()){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1132
			//...and setting the initial list
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1133
			String[] filesForAnalysis = getSettings().getSISFilesForAnalysis();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1134
			entryDialog.setInitialSISFileSet(filesForAnalysis);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1135
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1136
		int userSelection = entryDialog.open();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1137
		if(userSelection == Window.OK){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1138
			// Getting selected SIS files
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1139
			String[] selectedSISFiles = entryDialog.getSelectedSISFiles();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1140
			if(selectedSISFiles.length > 0){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1141
				// Entering to SIS file mode...
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1142
				getSettings().setIsInSISFileAnalysisMode(true);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1143
				// ...and setting files to current settings
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1144
				getSettings().setSISFilesForAnalysis(selectedSISFiles );
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1145
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1146
			else{
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1147
				// Disabling SIS file mode
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1148
				getSettings().setIsInSISFileAnalysisMode(false);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1149
				getSettings().setSISFilesForAnalysis(null);					
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1150
			}	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1151
			// SIS analysis mode may have toggled, therefore needing to update button status.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1152
			recalculateButtonStates();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1153
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1154
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1155
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1156
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1157
	 * Stores value for given key into dialog settings.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1158
	 * @param key key for the setting
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1159
	 * @param value value for the setting
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1160
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1161
	private void updateDialogSettings(String key, String value) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1162
		SelectSDKWizard wiz = (SelectSDKWizard) getWizard();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1163
		wiz.updateDialogSettings(key, value);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1164
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1165
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1166
	public SelectBuildTargetWizardPageContentProvider getContentProvider(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1167
		return contentProvider;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1168
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1169
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1170
} 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
  1171