imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/IMakerTabsViewer.java
author dpodwall
Tue, 12 Jan 2010 13:17:53 -0600
changeset 0 61163b28edca
child 1 7ff23301fe22
permissions -rw-r--r--
initial EPL conversion
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     1
/*
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     3
* All rights reserved.
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     4
* This component and the accompanying materials are made available
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     6
* which accompanies this distribution, and is available
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     8
*
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
     9
* Initial Contributors:
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    11
*
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    12
* Contributors:
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    13
*
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    14
* Description:
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    15
*
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    16
*/
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    17
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    18
package com.nokia.s60tools.imaker.internal.viewers;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    19
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    20
import java.lang.reflect.InvocationTargetException;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    21
import java.util.List;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    22
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    23
import org.eclipse.core.resources.IResource;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    24
import org.eclipse.jface.dialogs.Dialog;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    25
import org.eclipse.jface.resource.ColorRegistry;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    26
import org.eclipse.jface.resource.ImageDescriptor;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    27
import org.eclipse.jface.resource.JFaceResources;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    28
import org.eclipse.jface.viewers.ISelection;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    29
import org.eclipse.jface.viewers.Viewer;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    30
import org.eclipse.swt.SWT;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    31
import org.eclipse.swt.custom.CTabFolder;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    32
import org.eclipse.swt.custom.ViewForm;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    33
import org.eclipse.swt.events.SelectionAdapter;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    34
import org.eclipse.swt.events.SelectionEvent;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    35
import org.eclipse.swt.events.SelectionListener;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    36
import org.eclipse.swt.graphics.Color;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    37
import org.eclipse.swt.graphics.Image;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    38
import org.eclipse.swt.layout.GridData;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    39
import org.eclipse.swt.layout.GridLayout;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    40
import org.eclipse.swt.widgets.Button;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    41
import org.eclipse.swt.widgets.Combo;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    42
import org.eclipse.swt.widgets.Composite;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    43
import org.eclipse.swt.widgets.Control;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    44
import org.eclipse.swt.widgets.Label;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    45
import org.eclipse.ui.IWorkbenchPreferenceConstants;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    46
import org.eclipse.ui.PlatformUI;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    47
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    48
import com.nokia.s60tools.imaker.IEnvironmentManager;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    49
import com.nokia.s60tools.imaker.IMakerPlugin;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    50
import com.nokia.s60tools.imaker.Messages;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    51
import com.nokia.s60tools.imaker.SWTFactory;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    52
import com.nokia.s60tools.imaker.internal.dialogs.LaunchIMakerDialog;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    53
import com.nokia.s60tools.imaker.internal.managers.ProjectManager;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    54
import com.nokia.s60tools.imaker.internal.model.IObserver;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    55
import com.nokia.s60tools.imaker.internal.model.ImakerProperties;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    56
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    57
public class IMakerTabsViewer extends Viewer implements IObserver {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    58
	/**
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    59
	 * This view's control, which contains a composite area of controls
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    60
	 */
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    61
	private Composite fViewerControl;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    62
	
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    63
	/**
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    64
	 * Tab folder
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    65
	 */
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    66
	private CTabFolder fTabFolder;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    67
		
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    68
	private Button fRevertButton;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    69
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    70
	/**
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    71
	 * A place holder for switching between the tabs for a config and the getting started tab
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    72
	 * @since 3.2
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    73
	 */
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    74
	private Composite fTabPlaceHolder = null;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    75
	private ViewForm fViewform;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    76
	private IEnvironmentManager environmentManager;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    77
	private PreferencesTab tabPreferences;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    78
	private Button fRestoreButton;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    79
	private SettingsTab tabSettings;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    80
	private Combo fConfigWidget;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    81
	private Button deleteButton;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    82
	private DebugTab tabDebug;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    83
	private PlatsimTab tabPlatsim;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    84
	private LaunchIMakerDialog dialog;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    85
	
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    86
	/**
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    87
	 * Constructs a viewer in the given composite, contained by the given
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    88
	 * launch configuration dialog.
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    89
	 * 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    90
	 * @param parent composite containing this viewer
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    91
	 * @param manager 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    92
	 * @param launchIMakerDialog 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    93
	 * @param dialog containing launch configuration dialog
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    94
	 * @param selection 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    95
	 * @throws InterruptedException 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    96
	 */
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    97
	public IMakerTabsViewer(Composite parent, IEnvironmentManager manager, LaunchIMakerDialog dialog){
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    98
		super();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
    99
		this.environmentManager = manager;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   100
		this.dialog = dialog;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   101
		createControl(parent);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   102
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   103
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   104
	public void initialize() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   105
		ImakerProperties run = environmentManager.getActiveEnvironment().getRunProperties();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   106
		String file = run.getActiveFile();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   107
		if(file!=null) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   108
			displayImakerFile(file);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   109
		} else {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   110
			displayImakerFile(ProjectManager.NEW_ITEM);			
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   111
		}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   112
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   113
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   114
	/**
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   115
	 * @throws InterruptedException 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   116
	 * 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   117
	 */
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   118
	private void displayImakerFile(String item){
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   119
		populateConfigurations(item);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   120
		try {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   121
			tabPreferences.loadImakerFile(item);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   122
		} catch (InvocationTargetException e) {}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   123
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   124
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   125
	/**
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   126
	 * 
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   127
	 */
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   128
	public void populateConfigurations(String selection) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   129
		fConfigWidget.removeAll();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   130
		List<IResource> files = getProjectManager().getImakerFiles();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   131
		fConfigWidget.add(ProjectManager.NEW_ITEM);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   132
		fConfigWidget.select(0);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   133
		for (int i = 0; i < files.size(); i++) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   134
			String item = files.get(i).getLocation().toString();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   135
			fConfigWidget.add(item);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   136
			if(item.equals(selection)) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   137
				fConfigWidget.select(i+1);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   138
			}		
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   139
		}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   140
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   141
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   142
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   143
	public IEnvironmentManager getEnvironmentManager() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   144
		return environmentManager;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   145
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   146
	public ProjectManager getProjectManager() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   147
		return dialog.getProjectManager();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   148
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   149
	
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   150
	@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   151
	public Control getControl() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   152
		return fViewerControl;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   153
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   154
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   155
	@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   156
	public Object getInput() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   157
		return null;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   158
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   159
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   160
	@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   161
	public ISelection getSelection() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   162
		return null;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   163
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   164
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   165
	@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   166
	public void refresh() {}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   167
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   168
	@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   169
	public void setInput(Object input) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   170
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   171
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   172
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   173
	@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   174
	public void setSelection(ISelection selection, boolean reveal) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   175
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   176
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   177
	/**
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   178
	 * Creates this viewer's control This area displays the name of the launch
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   179
	 * configuration currently being edited, as well as a tab folder of tabs
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   180
	 * that are applicable to the launch configuration.
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   181
	 *
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   182
	 * @return the composite used for launch configuration editing
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   183
	 */
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   184
	private void createControl(Composite parent) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   185
		fViewerControl = new Composite(parent, SWT.NONE);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   186
		GridLayout layout = new GridLayout(1,false);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   187
		layout.marginHeight = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   188
		layout.marginWidth = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   189
		layout.horizontalSpacing = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   190
		layout.verticalSpacing = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   191
		fViewerControl.setLayout(layout);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   192
		GridData gd = new GridData(GridData.FILL_BOTH);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   193
		fViewerControl.setLayoutData(gd);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   194
		
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   195
        fViewform = new ViewForm(fViewerControl, SWT.FLAT | SWT.BORDER);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   196
        layout = new GridLayout(1, false);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   197
        layout.horizontalSpacing = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   198
        layout.verticalSpacing = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   199
        fViewform.setLayout(layout);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   200
		gd = new GridData(GridData.FILL_BOTH);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   201
		fViewform.setLayoutData(gd);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   202
        fViewform.setTopLeft(null);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   203
        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   204
        Composite mainComp = new Composite(fViewform, SWT.FLAT);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   205
        layout = new GridLayout(1, false);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   206
		layout.marginHeight = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   207
		layout.marginWidth = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   208
        layout.verticalSpacing = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   209
        layout.horizontalSpacing = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   210
        mainComp.setLayout(layout);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   211
        fViewform.setContent(mainComp);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   212
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   213
        Composite comboComp = new Composite(mainComp, SWT.NONE);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   214
        comboComp.setLayout(new GridLayout(3, false));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   215
        comboComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   216
        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   217
        Label fNameLabel = new Label(comboComp, SWT.HORIZONTAL | SWT.LEFT);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   218
        fNameLabel.setText(Messages.getString("IMakerTabsViewer.1"));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   219
        fNameLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   220
        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   221
        fConfigWidget = new Combo(comboComp, SWT.NONE);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   222
        fConfigWidget.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   223
        fConfigWidget.addSelectionListener(new SelectionListener() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   224
			
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   225
//			@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   226
			public void widgetSelected(SelectionEvent se) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   227
				try {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   228
					tabPreferences.loadImakerFile(getSelectedItem());
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   229
				} catch (InvocationTargetException e) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   230
					e.printStackTrace();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   231
				}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   232
			}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   233
			
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   234
//			@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   235
			public void widgetDefaultSelected(SelectionEvent se) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   236
				widgetSelected(se);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   237
			}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   238
		});
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   239
        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   240
        fConfigWidget.setToolTipText(Messages.getString("IMakerTabsViewer.2"));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   241
        deleteButton = new Button(comboComp, SWT.PUSH);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   242
		deleteButton.setText("Delete");
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   243
		deleteButton.setEnabled(false);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   244
        deleteButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   245
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   246
		fTabPlaceHolder = new Composite(mainComp, SWT.NONE);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   247
        layout = new GridLayout(1, false);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   248
		layout.marginHeight = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   249
		layout.marginWidth = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   250
		fTabPlaceHolder.setLayout(layout);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   251
		gd = new GridData(GridData.FILL_BOTH);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   252
		fTabPlaceHolder.setLayoutData(gd);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   253
		        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   254
		createTabFolder(fTabPlaceHolder);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   255
		
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   256
		
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   257
		Composite buttonComp = new Composite(mainComp, SWT.NONE);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   258
		GridLayout buttonCompLayout = new GridLayout();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   259
		buttonCompLayout.numColumns = 2;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   260
		buttonComp.setLayout(buttonCompLayout);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   261
		gd = new GridData(GridData.FILL_HORIZONTAL);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   262
		buttonComp.setLayoutData(gd);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   263
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   264
		fRestoreButton = new Button(buttonComp, SWT.PUSH);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   265
		fRestoreButton.setText(Messages.getString("IMakerTabsViewer.0")); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   266
		fRestoreButton.setToolTipText(Messages.getString("IMakerTabsViewer.11")); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   267
		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   268
		fRestoreButton.setLayoutData(gd);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   269
		SWTFactory.setButtonWidthHint(fRestoreButton);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   270
		fRestoreButton.addSelectionListener(new SelectionAdapter() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   271
			public void widgetSelected(SelectionEvent evt) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   272
				handleRestorePressed();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   273
			}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   274
		});
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   275
		
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   276
        Dialog.applyDialogFont(parent);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   277
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   278
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   279
	
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   280
	protected void handleNameModified() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   281
		if(!fConfigWidget.getText().equals("")) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   282
			deleteButton.setEnabled(true);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   283
		}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   284
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   285
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   286
	private void handleRestorePressed() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   287
		tabPreferences.restore();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   288
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   289
		
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   290
	protected void handleRevertPressed() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   291
		if(fTabFolder.getSelection() == tabSettings) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   292
			tabPreferences.refreshSettingsTab();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   293
		} else {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   294
//			tabPreferences.revert();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   295
		}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   296
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   297
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   298
	/**
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   299
	 * Creates the tab folder for displaying config instances
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   300
	 * @param parent
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   301
	 */
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   302
	private void createTabFolder(Composite parent) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   303
		if (fTabFolder == null) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   304
			Composite tabComposite = new Composite(parent, SWT.NONE);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   305
	        GridLayout layout = new GridLayout(1, false);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   306
			layout.marginHeight = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   307
			layout.marginWidth = 0;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   308
			tabComposite.setLayout(layout);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   309
			tabComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   310
			ColorRegistry reg = JFaceResources.getColorRegistry();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   311
			Color c1 = reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_START"), //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   312
				  c2 = reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_END"); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   313
			fTabFolder = new CTabFolder(tabComposite, SWT.NO_REDRAW_RESIZE | SWT.NO_TRIM | SWT.FLAT);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   314
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   315
			GridData gd = new GridData(GridData.FILL_BOTH);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   316
			gd.horizontalSpan = 2;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   317
			fTabFolder.setSelectionBackground(new Color[] {c1, c2},	new int[] {100}, true);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   318
			fTabFolder.setSelectionForeground(reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR")); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   319
			fTabFolder.setSimple(PlatformUI.getPreferenceStore().getBoolean(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   320
			fTabFolder.setLayoutData(gd);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   321
	        fTabFolder.setBorderVisible(true);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   322
			fTabFolder.setFont(tabComposite.getFont());
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   323
			fTabFolder.addSelectionListener(new SelectionListener() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   324
				
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   325
//				@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   326
				public void widgetSelected(SelectionEvent e) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   327
					if(e.item instanceof DebugTab) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   328
						tabDebug.refesh();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   329
					}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   330
				}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   331
				
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   332
//				@Override
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   333
				public void widgetDefaultSelected(SelectionEvent e) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   334
					widgetSelected(e);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   335
				}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   336
			});
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   337
			createTabs(fTabFolder);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   338
			fTabFolder.setSelection(0);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   339
		}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   340
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   341
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   342
	private void createTabs(CTabFolder tabFolder) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   343
		tabPreferences = new PreferencesTab(tabFolder, SWT.NONE, this);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   344
		PreferencesTab.currentPreferencesTab = tabPreferences;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   345
		tabPreferences.setText(Messages.getString("IMakerTabsViewer.3")); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   346
		tabPreferences.setToolTipText(Messages.getString("IMakerTabsViewer.4"));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   347
		tabPreferences.setImage(getTabImage(1));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   348
		tabSettings = new SettingsTab(tabFolder, SWT.NONE);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   349
		tabSettings.setText(Messages.getString("IMakerTabsViewer.5")); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   350
		tabSettings.setToolTipText(Messages.getString("IMakerTabsViewer.6"));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   351
		tabSettings.setImage(getTabImage(2));        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   352
        tabDebug = new DebugTab(tabFolder, SWT.NONE, this, tabPreferences);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   353
        tabDebug.setImage(getTabImage(3));        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   354
        tabDebug.setText(Messages.getString("IMakerTabsViewer.7")); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   355
        tabDebug.setToolTipText(Messages.getString("IMakerTabsViewer.8"));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   356
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   357
        tabPlatsim = new PlatsimTab(tabFolder, SWT.NONE);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   358
        tabPlatsim.setImage(getTabImage(4));        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   359
        tabPlatsim.setText(Messages.getString("IMakerTabsViewer.9")); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   360
        tabPlatsim.setToolTipText(Messages.getString("IMakerTabsViewer.10"));
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   361
        
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   362
        tabPreferences.setSettings(tabSettings);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   363
        tabPreferences.setDebug(tabDebug);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   364
        tabPreferences.setPlatsim(tabPlatsim);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   365
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   366
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   367
	private Image getTabImage(int tab) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   368
		ImageDescriptor descriptor = null;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   369
		switch (tab) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   370
		case 1:
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   371
			descriptor = IMakerPlugin.getImageDescriptor("icons/preferences.gif");
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   372
			return descriptor.createImage();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   373
		case 2:
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   374
			descriptor = IMakerPlugin.getImageDescriptor("icons/settings.gif"); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   375
			return descriptor.createImage();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   376
		case 3:
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   377
			descriptor = IMakerPlugin.getImageDescriptor("icons/debug.gif"); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   378
			return descriptor.createImage();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   379
		case 4:
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   380
			descriptor = IMakerPlugin.getImageDescriptor("icons/platsim.png"); //$NON-NLS-1$
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   381
			return descriptor.createImage();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   382
		default:
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   383
			break;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   384
		}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   385
		return null;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   386
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   387
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   388
	public void update(Object selection) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   389
		if(selection!=null) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   390
			setNameField((ImakerProperties) selection);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   391
			deleteButton.setEnabled(false);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   392
		} else {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   393
			fConfigWidget.setText("");
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   394
			deleteButton.setEnabled(false);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   395
		}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   396
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   397
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   398
	private void setNameField(ImakerProperties prop) {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   399
//		fConfigWidget.setText(prop.getFilename());
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   400
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   401
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   402
	public String handleRunPressed() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   403
		String item = getSelectedItem();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   404
		tabPreferences.runPressed(item);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   405
		return item;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   406
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   407
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   408
	public String getSelectedItem() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   409
		int index = fConfigWidget.getSelectionIndex();
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   410
		return fConfigWidget.getItem(index);
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   411
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   412
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   413
	public Button getFRevertButton() {
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   414
		return fRevertButton;
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   415
	}
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   416
61163b28edca initial EPL conversion
dpodwall
parents:
diff changeset
   417
}