srcanaapps/depexplorer/com.nokia.s60tools.appdep/src/com/nokia/s60tools/appdep/ui/dialogs/LocateComponentDialog.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) 2007 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.dialogs;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    20
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    21
import org.eclipse.jface.dialogs.Dialog;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    22
import org.eclipse.jface.dialogs.IDialogConstants;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    23
import org.eclipse.jface.preference.IPreferenceNode;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    24
import org.eclipse.jface.preference.IPreferencePage;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    25
import org.eclipse.jface.preference.PreferenceDialog;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    26
import org.eclipse.jface.preference.PreferenceManager;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    27
import org.eclipse.jface.preference.PreferenceNode;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    28
import org.eclipse.jface.window.IShellProvider;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    29
import org.eclipse.swt.SWT;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    30
import org.eclipse.swt.events.SelectionAdapter;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    31
import org.eclipse.swt.events.SelectionEvent;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    32
import org.eclipse.swt.events.SelectionListener;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    33
import org.eclipse.swt.graphics.Rectangle;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    34
import org.eclipse.swt.layout.GridData;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    35
import org.eclipse.swt.layout.GridLayout;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    36
import org.eclipse.swt.widgets.Button;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    37
import org.eclipse.swt.widgets.Composite;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    38
import org.eclipse.swt.widgets.Control;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    39
import org.eclipse.swt.widgets.Label;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    40
import org.eclipse.swt.widgets.Link;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    41
import org.eclipse.swt.widgets.List;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    42
import org.eclipse.swt.widgets.Shell;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    43
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    44
import com.nokia.s60tools.appdep.AppDepHelpContextIDs;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    45
import com.nokia.s60tools.appdep.plugin.AppDepPlugin;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    46
import com.nokia.s60tools.appdep.resources.Messages;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    47
import com.nokia.s60tools.appdep.ui.preferences.DEPreferencePage;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    48
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    49
/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    50
 * Dialog for selecting real implementation of selected generic component 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    51
 * @see org.eclipse.jface.dialogs.Dialog
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    52
 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    53
public class LocateComponentDialog extends Dialog {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    54
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    55
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    56
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    57
	 * List box dialog text control for showing the content.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    58
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    59
	private List componentsList = null;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    60
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    61
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    62
	 * Components to be shown in the dialog.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    63
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    64
	private String[] components = null;	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    65
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    66
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    67
	 * Index of the selection.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    68
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    69
	private int selectionIndex;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    70
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    71
	// Fixed Width and height parameters to set UI components 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    72
	// precisely 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    73
	private static final int COMPONENT_LIST_ITEMS_HEIGHT_HINT = 8;		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    74
	public static final int COMPONENT_LIST_WIDTH = 300;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    75
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    76
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    77
	 * Generic component.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    78
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    79
	private String componentName = null;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    80
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    81
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    82
	 * Constructor
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    83
	 * @param parentShell Parent shell
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    84
	 * @param components Component array.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    85
	 * @param componentName Name of the generic component.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    86
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    87
	public LocateComponentDialog(Shell parentShell, String[] components, String componentName) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    88
		super(parentShell);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    89
		this.components = components;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    90
		this.componentName = componentName;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    91
	}
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
	 * Constructor
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    95
	 * @param parentShell Parent shell.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    96
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    97
	@SuppressWarnings("unused")
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    98
	private LocateComponentDialog(Shell parentShell) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
    99
		super(parentShell);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   100
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   101
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   102
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   103
	 * Constructor
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   104
	 * @param parentShell Parent shell provider.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   105
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   106
	@SuppressWarnings("unused")
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   107
	private LocateComponentDialog(IShellProvider parentShell) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   108
		super(parentShell);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   109
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   110
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   111
    /* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   112
     * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   113
     */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   114
    protected void createButtonsForButtonBar(Composite parent) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   115
        // Creating just OK button
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   116
        createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   117
                true);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   118
        createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL,
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   119
                true);     
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   120
		Button ok = getButton(IDialogConstants.OK_ID);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   121
		ok.setEnabled(false);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   122
        
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   123
    }
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   124
    
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   125
    /* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   126
     * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   127
     */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   128
    protected void configureShell(Shell shell) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   129
        super.configureShell(shell);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   130
        shell.setText( Messages.getString("LocateComponentDialog.Shell_Txt") );//$NON-NLS-1$ 
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   131
    }    
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   132
    
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   133
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   134
	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   135
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   136
	protected Control createDialogArea(Composite parent) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   137
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   138
		Composite dialogAreaComposite = (Composite) super.createDialogArea(parent);			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   139
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   140
		//Label
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   141
		Label label = new Label(dialogAreaComposite,SWT.HORIZONTAL);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   142
		label.setText(Messages.getString("LocateComponentDialog.Label_Txt") +" "  +componentName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   143
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   144
		//Layout data for the component list
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   145
		final int cols = 1;	  
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   146
		GridLayout gdl = new GridLayout(cols, false);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   147
		GridData gd = new GridData(GridData.FILL_BOTH);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   148
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   149
		dialogAreaComposite.setLayout(gdl);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   150
		dialogAreaComposite.setLayoutData(gd);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   151
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   152
		GridData gd2 = new GridData(GridData.FILL_BOTH);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   153
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   154
		dialogAreaComposite.setLayoutData(gd2);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   155
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   156
		//Controls for the component list
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   157
		final int listBoxStyleBits = SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   158
		componentsList = new List(dialogAreaComposite,listBoxStyleBits);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   159
		int listHeight = componentsList.getItemHeight() * COMPONENT_LIST_ITEMS_HEIGHT_HINT;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   160
		Rectangle trim = componentsList.computeTrim(0, 0, 0, listHeight);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   161
		GridData listData = new GridData(COMPONENT_LIST_WIDTH, SWT.DEFAULT);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   162
		listData.horizontalAlignment = GridData.FILL;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   163
		listData.grabExcessHorizontalSpace = true;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   164
		listData.verticalAlignment = GridData.FILL;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   165
		listData.grabExcessVerticalSpace = true;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   166
		listData.heightHint = trim.height;		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   167
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   168
		listData.heightHint = trim.height;		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   169
		componentsList.setLayoutData(listData);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   170
		if(components != null){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   171
			componentsList.setItems(components);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   172
		}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   173
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   174
		// Adding selection listener for the component list
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   175
		componentsList.addSelectionListener(new SelectionListener(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   176
			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   177
			public void widgetDefaultSelected(SelectionEvent e) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   178
				//Not needed
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
			public void widgetSelected(SelectionEvent e) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   182
				selectionIndex = componentsList.getSelectionIndex();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   183
				if(selectionIndex != -1){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   184
					setOKEnabled();					
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   185
				}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   186
			}			
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   187
		});		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   188
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   189
		//Button for opening preferences page
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   190
		Link openPreferencePageLink = new Link(dialogAreaComposite, SWT.NULL);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   191
		openPreferencePageLink.setText("<a>" + Messages.getString("LocateComponentDialog.Link_Txt") +"</a>");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   192
		openPreferencePageLink.setToolTipText(Messages.getString("LocateComponentDialog.Link_ToolTip_Txt"));//$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   193
		GridData btnData = new GridData();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   194
		openPreferencePageLink.setLayoutData(btnData);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   195
		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   196
		//listener for the add button
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   197
		openPreferencePageLink.addSelectionListener(new SelectionAdapter() {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   198
			public void widgetSelected(SelectionEvent event) {
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   199
				openPreferencePage();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   200
			}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   201
		});				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   202
 				
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   203
	    // Setting context help IDs		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   204
	    AppDepPlugin.setContextSensitiveHelpID(dialogAreaComposite, AppDepHelpContextIDs.APPDEP_LOCATE_COMPONENT_DIALOG);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   205
	    
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   206
		return dialogAreaComposite;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   207
	}    
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   208
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   209
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   210
	 * Sets OK button enabled
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   211
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   212
	private void setOKEnabled(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   213
		Button ok = getButton(IDialogConstants.OK_ID);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   214
		ok.setEnabled(true);		
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
	 * Opens Component prefix search order preference page.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   219
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   220
	private void openPreferencePage(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   221
		   IPreferencePage page = new DEPreferencePage();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   222
		   PreferenceManager mgr = new PreferenceManager();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   223
		   IPreferenceNode node = new PreferenceNode("1", page);//$NON-NLS-1$
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   224
		   mgr.addToRoot(node);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   225
		   PreferenceDialog dialog = new PreferenceDialog(getShell(), mgr);
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   226
		   dialog.create();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   227
		   dialog.setMessage(page.getTitle());
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   228
		   dialog.open();		
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   229
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   230
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   231
	/* (non-Javadoc)
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   232
	 * @see org.eclipse.jface.window.Window#open()
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   233
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   234
	public int open(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   235
		selectionIndex=-1;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   236
		return super.open();
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   237
	}
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   238
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   239
	/**
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   240
	 * Get selection index from the concrete component list.
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   241
	 * @return index of selected component or -1 if not selected
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   242
	 */
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   243
	public int getSelectionIndex(){
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   244
		return selectionIndex;
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   245
	}	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   246
	
a02c979e8dfd 1. Copyrights changed to EPL
noe\swadi
parents:
diff changeset
   247
}