trace/tracebuilder/com.nokia.tracebuilder.view/src/com/nokia/tracebuilder/view/PropertyDialogUITarget.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Wed, 23 Jun 2010 14:35:40 +0300
changeset 10 ed1c9f64298a
permissions -rw-r--r--
TraceBuilder 2.4.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
 *
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
 *
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
 * Contributors:
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
 *
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
 * Description:
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
 *
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
 * Composite for target label and combo box
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
 *
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
package com.nokia.tracebuilder.view;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
import java.util.Iterator;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
import org.eclipse.swt.SWT;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import org.eclipse.swt.events.ModifyListener;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
import org.eclipse.swt.events.SelectionListener;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
import org.eclipse.swt.widgets.Combo;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import org.eclipse.swt.widgets.Composite;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import org.eclipse.swt.widgets.Label;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import com.nokia.tracebuilder.engine.SoftwareComponent;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import com.nokia.tracebuilder.engine.TraceBuilderGlobals;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
import com.nokia.tracebuilder.engine.TraceObjectPropertyDialog;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
import com.nokia.tracebuilder.engine.rules.RuleUtils;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
import com.nokia.tracebuilder.model.TraceConstantTable;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
import com.nokia.tracebuilder.project.FormattingUtils;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
import com.nokia.tracebuilder.project.GroupNameHandlerBase;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
 * Composite for target label and combo box
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
 * 
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
final class PropertyDialogUITarget extends PropertyDialogComposite {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
	/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
	 * Target label
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
	 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
	private Label targetLabel = null;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
	/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
	 * Target selector
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
	 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
	private Combo targetCombo = null;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
	/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
	 * Property dialog UI
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
	 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
	private PropertyDialogUI dialogUI;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
	/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
	 * Constructor
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
	 * 
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
	 * @param parent
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
	 *            parent composite
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
	 * @param uiType
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
	 *            the type of UI
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
	 * @param modifyListener
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
	 *            combobox text change listener
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
	 * @param selectionListener
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
	 *            combobox selection change listener
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
	 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
	PropertyDialogUITarget(Composite parent, int uiType,
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
			ModifyListener modifyListener, SelectionListener selectionListener) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
		super(parent);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
		this.dialogUI = (PropertyDialogUI) parent;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    75
		create(uiType, modifyListener, selectionListener);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    76
	}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    78
	/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    79
	 * Creates the label and combo box
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    80
	 * 
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    81
	 * @param uiType
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
	 *            the UI type
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
	 * @param modifyListener
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
	 *            combobox text change listener
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
	 * @param selectionListener
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
	 *            combobox selection change listener
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
	 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    88
	private void create(int uiType, ModifyListener modifyListener,
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    89
			SelectionListener selectionListener) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
		targetLabel = new Label(getParent(), SWT.NONE);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
		if (uiType == TraceObjectPropertyDialog.SELECT_COMPONENT) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
			targetCombo = new Combo(getParent(), SWT.READ_ONLY);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    94
		} else {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    95
			targetCombo = new Combo(getParent(), SWT.NONE);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
		}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
		int selid = 0;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
		String text;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   100
		if (uiType == TraceObjectPropertyDialog.SELECT_COMPONENT) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
			text = Messages
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
					.getString("PropertyDialogUI.SelectComponentNameLabel"); //$NON-NLS-1$	
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
			Iterator<SoftwareComponent> components = TraceBuilderGlobals
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   104
					.getSoftwareComponents();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   105
			while (components.hasNext()) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
				SoftwareComponent component = components.next();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
				targetCombo.add(component.getName());
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
			}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
		} else if (uiType == TraceObjectPropertyDialog.ADD_CONSTANT) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
			text = Messages
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
					.getString("PropertyDialogUITarget.AddConstantTargetLabel"); //$NON-NLS-1$
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
			Iterator<TraceConstantTable> tables = TraceBuilderGlobals
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
					.getTraceModel().getConstantTables();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
			while (tables.hasNext()) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
				targetCombo.add(tables.next().getName());
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
			}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
		} else {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
			text = Messages.getString("PropertyDialogUI.AddTraceTargetLabel"); //$NON-NLS-1$
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
			Iterator<String> groups = FormattingUtils
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
					.getGroupNames(TraceBuilderGlobals.getTraceModel());
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
			while (groups.hasNext()) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
				String group = groups.next();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
				// TRACE_STATE and TRACE_PERFORMACE group names are not added
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
				// to combo, those can be used only via templates
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
				GroupNameHandlerBase groupNameHandler = TraceBuilderGlobals.getGroupNameHandler();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
				String[] defaultGroups = groupNameHandler.getDefaultGroups();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
				if (group != defaultGroups[groupNameHandler.getStateGroupIdIndex()]
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
						&& group != defaultGroups[groupNameHandler.getPerformanceGroupIdIndex()]) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
					targetCombo.add(group);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
				}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
			}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
		}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
		targetLabel.setText(text);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
		targetCombo.select(selid);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
		targetCombo.addSelectionListener(selectionListener);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
		targetCombo.addModifyListener(modifyListener);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
		setFieldButtonLayoutData(targetCombo, null);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
	}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
	/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
	 * Gets the target trace object
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
	 * 
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
	 * @return the target
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
	 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
	String getTarget() {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
		return targetCombo.getText();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
	}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
	/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
	 * Sets the target object
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
	 * 
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
	 * @param target
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
	 *            the new target
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
	 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
	void setTarget(String target) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
		int found = -1;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   159
		for (int i = 0; i < targetCombo.getItemCount() && found == -1; i++) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
			if (targetCombo.getItem(i).equals(target)) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
				found = i;
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
			}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
		}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
		int uiType = dialogUI.getUiType();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
		if (found >= 0) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
			targetCombo.select(found);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
		} else if (uiType == TraceObjectPropertyDialog.ADD_PARAMETER
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
				|| uiType == TraceObjectPropertyDialog.ADD_TRACE
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
				|| uiType == TraceObjectPropertyDialog.INSTRUMENTER) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
			int templateIndex = dialogUI.templateComposite.getTemplateIndex();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
			GroupNameHandlerBase groupNameHandler = TraceBuilderGlobals.getGroupNameHandler();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
			String[] defaultGroups = groupNameHandler.getDefaultGroups();
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
			if (((!target
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
					.equals(defaultGroups[groupNameHandler.getStateGroupIdIndex()]) && !target
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
					.equals(defaultGroups[groupNameHandler.getPerformanceGroupIdIndex()])) && templateIndex == 0)
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
					|| (target
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
							.equals(defaultGroups[groupNameHandler.getStateGroupIdIndex()]) && templateIndex == RuleUtils.TYPE_STATE_TRACE + 1)
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
					|| (target
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
							.equals(defaultGroups[groupNameHandler.getPerformanceGroupIdIndex()]) && templateIndex == RuleUtils.TYPE_PERF_EVENT + 1)
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
					|| (target
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
							.equals(defaultGroups[groupNameHandler.getFlowGroupIdIndex()]) && templateIndex == RuleUtils.TYPE_ENTRY_EXIT + 1)) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
				targetCombo.setText(target);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
			} else {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
				targetCombo.select(groupNameHandler.getNormalGroupIdIndex() - 1);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
			}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
		}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
	}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   189
	/**
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   190
	 * Enables / disables the target field
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   191
	 * 
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
	 * @param flag
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   193
	 *            new enabled state
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
	 */
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
	void setEnabled(boolean flag) {
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
		targetCombo.setEnabled(flag);
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
	}
ed1c9f64298a TraceBuilder 2.4.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
}