trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/dialog/TraceActivationDialog.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Wed, 23 Jun 2010 14:49:59 +0300
changeset 11 5b9d4d8641ce
permissions -rw-r--r--
TraceViewer 2.6.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
 * Contributors:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
 * Description:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
 * Trace Activation dialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
package com.nokia.traceviewer.dialog;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
import java.util.ArrayList;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
import java.util.Collections;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
import java.util.Comparator;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import java.util.List;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
import org.eclipse.jface.dialogs.IDialogConstants;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import org.eclipse.swt.SWT;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import org.eclipse.swt.events.DragDetectEvent;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
import org.eclipse.swt.events.DragDetectListener;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import org.eclipse.swt.events.ModifyEvent;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import org.eclipse.swt.events.ModifyListener;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
import org.eclipse.swt.events.MouseEvent;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
import org.eclipse.swt.events.MouseListener;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
import org.eclipse.swt.events.MouseMoveListener;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
import org.eclipse.swt.events.SelectionAdapter;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
import org.eclipse.swt.events.SelectionEvent;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
import org.eclipse.swt.graphics.Color;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
import org.eclipse.swt.graphics.Point;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
import org.eclipse.swt.layout.GridData;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
import org.eclipse.swt.layout.GridLayout;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
import org.eclipse.swt.widgets.Button;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
import org.eclipse.swt.widgets.Composite;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
import org.eclipse.swt.widgets.Group;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
import org.eclipse.swt.widgets.Label;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
import org.eclipse.swt.widgets.Menu;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
import org.eclipse.swt.widgets.MenuItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
import org.eclipse.swt.widgets.Shell;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
import org.eclipse.swt.widgets.Table;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
import org.eclipse.swt.widgets.TableColumn;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
import org.eclipse.swt.widgets.TableItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
import org.eclipse.swt.widgets.Text;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
import org.eclipse.ui.PlatformUI;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
import com.nokia.traceviewer.TraceViewerHelpContextIDs;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
import com.nokia.traceviewer.action.ReloadDecodeFilesAction;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
import com.nokia.traceviewer.engine.TraceViewerGlobals;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
import com.nokia.traceviewer.engine.activation.TraceActivationComponentItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
import com.nokia.traceviewer.engine.activation.TraceActivationGroupItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
import com.nokia.traceviewer.engine.activation.TraceActivator;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
 * Trace activation dialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
public final class TraceActivationDialog extends BaseDialog {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
	 * Lead zero string
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
	private static final String LEAD_ZERO = "0"; //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
	 * Waiting time for model to be loaded
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    75
	private static final int WAITING_TIME = 50;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    76
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    78
	 * Right mouse button ID
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    79
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    80
	private static final int RIGHT_MOUSE_BUTTON = 3;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    81
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
	 * Load button ID
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
	private static final int LOAD_BUTTON_ID = IDialogConstants.CLIENT_ID + 1;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    88
	 * Save button ID
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    89
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
	private static final int SAVE_BUTTON_ID = LOAD_BUTTON_ID + 1;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
	 * Activate button ID
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    94
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    95
	private static final int ACTIVATE_BUTTON_ID = SAVE_BUTTON_ID + 1;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
	 * Hex prefix
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   100
	private static final String HEX_PREFIX = "0x"; //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
	 * String to be shown if same group is both on and off in different
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   104
	 * Dictionaries
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   105
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
	private static final String STATE_BOTH_STRING = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
			.getString("TraceActivationDialog.OnOff"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
	 * String to be shown if group is on
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
	private static final String STATE_ON_STRING = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
			.getString("TraceActivationDialog.On"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
	 * String to be shown if group is off
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
	private static final String STATE_OFF_STRING = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
			.getString("TraceActivationDialog.Off"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
	 * Trace activation category text
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
	private static final String TRACE_ACTIVATION_CATEGORY = com.nokia.traceviewer.dialog.Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
			.getString("TraceActivationDialog.TraceActivationCategory"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
	 * Color of group which is both on and off
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
	private final Color STATE_BOTH_COLOR = getParentShell().getDisplay()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
			.getSystemColor(SWT.COLOR_BLACK);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
	 * Color of group which is on
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
	private final Color STATE_ON_COLOR = getParentShell().getDisplay()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
			.getSystemColor(SWT.COLOR_DARK_GREEN);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
	 * Color of group which is off
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
	private final Color STATE_OFF_COLOR = getParentShell().getDisplay()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
			.getSystemColor(SWT.COLOR_RED);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
	 * Save dialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
	private TraceConfigurationSaveDialog saveDialog;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
	 * Load dialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
	private TraceConfigurationLoadDialog loadDialog;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
	 * Main group
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
	private Group mainGroup;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   159
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
	 * Open Dictionary file button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
	private Button addDictionaryButton;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
	 * Remove Dictionary file button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
	private Button removeDictionaryButton;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
	 * Text field for Dictionary filter
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
	private Text dictionaryFilterText;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
	 * Dictionary table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
	private Table dictionaryTable;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
	 * Group table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
	private Table groupTable;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
	 * Text field for group filter
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
	private Text groupFilterText;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   189
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   190
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   191
	 * List of all components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   193
	private List<TraceActivationComponentItem> allComponents;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
	 * List of current components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
	private final List<TraceActivationComponentItem> currentComponents;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   199
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   200
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   201
	 * List of changed components. Will be sent when Apply or Ok is clicked
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   202
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   203
	private final List<TraceActivationComponentItem> changedComponents;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   204
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   205
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   206
	 * Index of the first dictionary selected when dragging with mouse
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   207
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   208
	private int firstDictionarySelected;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   209
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   210
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   211
	 * Index of the first group selected when dragging with mouse
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   212
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   213
	private int firstGroupSelected;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   214
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   215
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   216
	 * Tells that model has been changed and components should be loaded again
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   217
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   218
	private boolean modelChanged;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   219
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   220
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   221
	 * Previously selected Dictionary index
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   222
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   223
	private int[] previousSelectedDictionaryIndices = { 0 };
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   224
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   225
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   226
	 * Saved component filter
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   227
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   228
	private String savedComponentFilter;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   229
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   230
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   231
	 * Constructor
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   232
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   233
	 * @param parent
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   234
	 *            parent shell
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   235
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   236
	public TraceActivationDialog(Shell parent) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   237
		// Pass the default styles here
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   238
		super(parent, SWT.DIALOG_TRIM | SWT.MODELESS | SWT.RESIZE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   239
		allComponents = new ArrayList<TraceActivationComponentItem>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   240
		currentComponents = new ArrayList<TraceActivationComponentItem>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   241
		changedComponents = new ArrayList<TraceActivationComponentItem>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   242
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   243
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   244
	/*
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   245
	 * (non-Javadoc)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   246
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   247
	 * @see
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   248
	 * com.nokia.traceviewer.dialog.BaseDialog#createDialogArea(org.eclipse.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   249
	 * swt.widgets.Composite)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   250
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   251
	@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   252
	protected void createDialogContents() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   253
		String shellTitle = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   254
				.getString("TraceActivationDialog.ShellTitle"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   255
		getShell().setText(shellTitle);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   256
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   257
		// Set the minimum size for the shell
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   258
		getShell().setMinimumSize(new Point(600, 400));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   259
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   260
		// Set gridlayout to composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   261
		GridLayout compositeGridLayout = new GridLayout();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   262
		compositeGridLayout.numColumns = 1;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   263
		composite.setLayout(compositeGridLayout);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   264
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   265
		// Main group
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   266
		GridLayout mainGroupGridLayout = new GridLayout();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   267
		mainGroupGridLayout.numColumns = 5;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   268
		mainGroup = new Group(composite, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   269
		mainGroup.setText(shellTitle);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   270
		mainGroup.setLayout(mainGroupGridLayout);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   271
		GridData mainGroupGridData = new GridData(SWT.FILL, SWT.FILL, true,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   272
				true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   273
		mainGroup.setLayoutData(mainGroupGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   274
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   275
		// Create component composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   276
		createDictionaryComposite();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   277
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   278
		// Create group composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   279
		createGroupComposite();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   280
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   281
		// Add dictionary button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   282
		GridData addDictionaryButtonGridData = new GridData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   283
		addDictionaryButtonGridData.horizontalAlignment = GridData.BEGINNING;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   284
		addDictionaryButtonGridData.widthHint = 110;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   285
		addDictionaryButton = new Button(mainGroup, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   286
		addDictionaryButton.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   287
				.getString("TraceActivationDialog.AddDictionaryButton")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   288
		addDictionaryButton.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   289
				.getString("TraceActivationDialog.AddDictionaryButtonToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   290
		addDictionaryButton.setLayoutData(addDictionaryButtonGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   291
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   292
		// Remove dictionary button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   293
		GridData removeDictionaryButtonGridData = new GridData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   294
		removeDictionaryButtonGridData.horizontalAlignment = GridData.BEGINNING;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   295
		removeDictionaryButtonGridData.widthHint = 110;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   296
		removeDictionaryButton = new Button(mainGroup, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   297
		removeDictionaryButton.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   298
				.getString("TraceActivationDialog.RemoveDictionaryButton")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   299
		removeDictionaryButton
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   300
				.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   301
						.getString("TraceActivationDialog.RemoveDictionaryButtonToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   302
		removeDictionaryButton.setEnabled(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   303
		removeDictionaryButton.setLayoutData(removeDictionaryButtonGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   304
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   305
		// Create main composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   306
		createMainComposite();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   307
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   308
		// Get activation information
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   309
		getActivationInformation();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   310
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   311
		// Set help
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   312
		PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(),
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   313
				TraceViewerHelpContextIDs.ACTIVATION_DIALOG);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   314
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   315
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   316
	/*
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   317
	 * (non-Javadoc)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   318
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   319
	 * @see
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   320
	 * org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   321
	 * .swt.widgets.Composite)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   322
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   323
	@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   324
	protected void createButtonsForButtonBar(Composite parent) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   325
		// Create load button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   326
		Button loadButton = createButton(parent, LOAD_BUTTON_ID, Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   327
				.getString("TraceActivationDialog.LoadButtonText"), false); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   328
		loadButton.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   329
				.getString("TraceActivationDialog.LoadButtonToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   330
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   331
		// Create save button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   332
		Button saveButton = createButton(parent, SAVE_BUTTON_ID, Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   333
				.getString("TraceActivationDialog.SaveButtonText"), false); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   334
		saveButton.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   335
				.getString("TraceActivationDialog.SaveButtonToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   336
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   337
		// Activate button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   338
		Button activateButton = createButton(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   339
				parent,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   340
				ACTIVATE_BUTTON_ID,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   341
				Messages.getString("TraceActivationDialog.ActivateButtonText"), true); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   342
		activateButton.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   343
				.getString("TraceActivationDialog.ActivateButtonToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   344
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   345
		// Close button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   346
		createButton(parent, IDialogConstants.CLOSE_ID, Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   347
				.getString("TraceActivationDialog.CloseButton"), false); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   348
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   349
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   350
	/*
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   351
	 * (non-Javadoc)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   352
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   353
	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   354
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   355
	@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   356
	protected void buttonPressed(int buttonId) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   357
		switch (buttonId) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   358
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   359
		// Load button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   360
		case LOAD_BUTTON_ID:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   361
			TraceViewerGlobals.postUiEvent("LoadButton", "1"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   362
			if (loadDialog == null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   363
				loadDialog = new TraceConfigurationLoadDialog(true, null);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   364
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   365
			loadDialog.openDialog(allComponents, changedComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   366
			setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   367
			TraceViewerGlobals.postUiEvent("LoadButton", "0"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   368
			break;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   369
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   370
		// Save button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   371
		case SAVE_BUTTON_ID:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   372
			TraceViewerGlobals.postUiEvent("SaveButton", "1"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   373
			if (saveDialog == null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   374
				saveDialog = new TraceConfigurationSaveDialog();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   375
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   376
			saveDialog.openDialog(allComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   377
			TraceViewerGlobals.postUiEvent("SaveButton", "0"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   378
			break;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   379
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   380
		// Activate button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   381
		case ACTIVATE_BUTTON_ID:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   382
			TraceViewerGlobals.postUiEvent("ActivateButton", "1"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   383
			sendActivationInformation();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   384
			TraceViewerGlobals.postUiEvent("ActivateButton", "0"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   385
			break;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   386
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   387
		// Close button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   388
		case IDialogConstants.CLOSE_ID:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   389
			TraceViewerGlobals.postUiEvent("CloseButton", "1"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   390
			previousSelectedDictionaryIndices = dictionaryTable
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   391
					.getSelectionIndices();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   392
			okPressed();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   393
			TraceViewerGlobals.postUiEvent("CloseButton", "0"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   394
			break;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   395
		default:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   396
			System.out.println(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   397
					.getString("TraceActivationDialog.InvalidButton")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   398
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   399
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   400
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   401
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   402
	 * Updates activation information
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   403
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   404
	 * @param added
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   405
	 *            if true, activation was added, otherwise it was removed
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   406
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   407
	private void updateActivationInformation(boolean added) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   408
		modelChanged = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   409
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   410
		// Wait for model to be ready
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   411
		if (added) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   412
			int loopCount = 0;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   413
			int maxLoopCount = 100;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   414
			try {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   415
				Thread.sleep(WAITING_TIME);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   416
				while (!TraceViewerGlobals.getDecodeProvider()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   417
						.isModelLoadedAndValid()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   418
						&& loopCount < maxLoopCount) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   419
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   420
					loopCount++;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   421
					Thread.sleep(WAITING_TIME);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   422
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   423
			} catch (InterruptedException e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   424
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   425
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   426
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   427
		getActivationInformation();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   428
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   429
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   430
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   431
	 * Get new activation information from decode provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   432
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   433
	private void getActivationInformation() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   434
		if (TraceViewerGlobals.getDecodeProvider() != null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   435
			if (modelChanged || allComponents.isEmpty()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   436
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   437
				List<TraceActivationComponentItem> newComponents = TraceViewerGlobals
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   438
						.getDecodeProvider().getActivationInformation(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   439
				modelChanged = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   440
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   441
				// Merge components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   442
				mergeComponents(allComponents, newComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   443
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   444
			copyItems(allComponents, currentComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   445
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   446
			selectComponentsByFilter(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   447
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   448
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   449
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   450
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   451
	 * Merges components from the model
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   452
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   453
	 * @param oldComponents
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   454
	 *            old components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   455
	 * @param newComponents
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   456
	 *            new components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   457
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   458
	private void mergeComponents(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   459
			List<TraceActivationComponentItem> oldComponents,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   460
			List<TraceActivationComponentItem> newComponents) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   461
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   462
		// Loop through old components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   463
		for (int i = 0; i < oldComponents.size(); i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   464
			TraceActivationComponentItem oldComponent = oldComponents.get(i);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   465
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   466
			// Check if the component is found among the new components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   467
			for (int j = 0; j < newComponents.size(); j++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   468
				TraceActivationComponentItem newComponent = newComponents
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   469
						.get(j);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   470
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   471
				if (oldComponent.getId() == newComponent.getId()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   472
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   473
					// Merge groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   474
					mergeGroups(oldComponent.getGroups(), newComponent
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   475
							.getGroups());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   476
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   477
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   478
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   479
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   480
		// Set new components to be the one to be used
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   481
		allComponents = newComponents;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   482
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   483
		// Sort component list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   484
		sortComponentList(allComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   485
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   486
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   487
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   488
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   489
	 * Merges groups from component
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   490
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   491
	 * @param oldGroups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   492
	 *            old groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   493
	 * @param newGroups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   494
	 *            new groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   495
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   496
	private void mergeGroups(List<TraceActivationGroupItem> oldGroups,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   497
			List<TraceActivationGroupItem> newGroups) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   498
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   499
		// Loop through old groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   500
		for (int i = 0; i < oldGroups.size(); i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   501
			TraceActivationGroupItem oldGroup = oldGroups.get(i);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   502
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   503
			// Check if the group if found among the new groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   504
			for (int j = 0; j < newGroups.size(); j++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   505
				TraceActivationGroupItem newGroup = newGroups.get(j);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   506
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   507
				if (oldGroup.getId() == newGroup.getId()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   508
					newGroup.setActivated(oldGroup.isActivated());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   509
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   510
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   511
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   512
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   513
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   514
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   515
	 * Sorts component list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   516
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   517
	 * @param components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   518
	 *            component list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   519
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   520
	private void sortComponentList(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   521
			List<TraceActivationComponentItem> componentList) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   522
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   523
		// Sort component list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   524
		Collections.sort(componentList,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   525
				new Comparator<TraceActivationComponentItem>() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   526
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   527
					/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   528
					 * Compares two components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   529
					 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   530
					 * @param o1
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   531
					 *            first component
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   532
					 * @param o2
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   533
					 *            second component
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   534
					 * @return less than zero if first one is first in
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   535
					 *         alphabetic order. More than zero if second is
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   536
					 *         first.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   537
					 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   538
					public int compare(TraceActivationComponentItem o1,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   539
							TraceActivationComponentItem o2) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   540
						int val = o1.getName().toLowerCase().compareTo(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   541
								o2.getName().toLowerCase());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   542
						return val;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   543
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   544
				});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   545
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   546
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   547
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   548
	 * This method initializes main composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   549
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   550
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   551
	private void createMainComposite() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   552
		// Create new composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   553
		Composite mainComposite = new Composite(composite, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   554
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   555
		// Set grid data to composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   556
		GridData mainCompositeGridData = new GridData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   557
		mainCompositeGridData.horizontalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   558
		mainCompositeGridData.grabExcessHorizontalSpace = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   559
		mainCompositeGridData.grabExcessVerticalSpace = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   560
		// mainCompositeGridData.horizontalSpan = 5;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   561
		mainCompositeGridData.verticalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   562
		mainComposite.setLayout(new GridLayout());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   563
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   564
		// Set layout data
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   565
		mainComposite.setLayoutData(mainCompositeGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   566
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   567
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   568
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   569
	 * This method initializes dictionary Composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   570
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   571
	private void createDictionaryComposite() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   572
		// Create new composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   573
		Composite dictionaryComposite = new Composite(mainGroup, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   574
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   575
		// Set grid data to composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   576
		GridData componentCompositeGridData = new GridData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   577
		componentCompositeGridData.grabExcessHorizontalSpace = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   578
		componentCompositeGridData.grabExcessVerticalSpace = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   579
		componentCompositeGridData.horizontalSpan = 2;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   580
		componentCompositeGridData.horizontalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   581
		componentCompositeGridData.verticalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   582
		dictionaryComposite.setLayoutData(componentCompositeGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   583
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   584
		// Set grid layout to composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   585
		GridLayout componentCompositeGridLayout = new GridLayout();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   586
		componentCompositeGridLayout.numColumns = 2;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   587
		dictionaryComposite.setLayout(componentCompositeGridLayout);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   588
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   589
		// Create Dictionary table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   590
		dictionaryTable = new Table(dictionaryComposite, SWT.BORDER | SWT.MULTI
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   591
				| SWT.FULL_SELECTION);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   592
		dictionaryTable.setHeaderVisible(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   593
		dictionaryTable.setLinesVisible(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   594
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   595
		// Set grid data to Dictionary table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   596
		GridData dictionaryTableGridData = new GridData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   597
		dictionaryTableGridData.horizontalSpan = 2;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   598
		dictionaryTableGridData.heightHint = 250;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   599
		dictionaryTableGridData.widthHint = 200;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   600
		dictionaryTableGridData.grabExcessHorizontalSpace = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   601
		dictionaryTableGridData.grabExcessVerticalSpace = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   602
		dictionaryTableGridData.horizontalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   603
		dictionaryTableGridData.verticalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   604
		dictionaryTable.setLayoutData(dictionaryTableGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   605
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   606
		// Create column for table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   607
		TableColumn column = new TableColumn(dictionaryTable, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   608
		column.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   609
				.getString("TraceActivationDialog.DictionaryColumnText")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   610
		column.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   611
				.getString("TraceActivationDialog.DictionaryColumnToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   612
		column.setWidth(200);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   613
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   614
		// Create filter label
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   615
		Label dictionaryFilterLabel = new Label(dictionaryComposite, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   616
		dictionaryFilterLabel.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   617
				.getString("TraceActivationDialog.FilterInfoText")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   618
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   619
		// Create filter text field
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   620
		dictionaryFilterText = new Text(dictionaryComposite, SWT.BORDER);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   621
		GridData componentFilterTextGridData = new GridData(SWT.FILL, SWT.FILL,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   622
				true, false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   623
		dictionaryFilterText.setLayoutData(componentFilterTextGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   624
		dictionaryFilterText.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   625
				.getString("TraceActivationDialog.DictionaryFilterToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   626
		if (savedComponentFilter != null && !savedComponentFilter.equals("")) { //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   627
			dictionaryFilterText.setText(savedComponentFilter);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   628
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   629
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   630
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   631
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   632
	 * This method initializes group Composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   633
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   634
	private void createGroupComposite() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   635
		// Create new composite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   636
		Composite groupComposite = new Composite(mainGroup, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   637
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   638
		// Set grid data to groupComposite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   639
		GridData groupCompositeGridData = new GridData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   640
		groupCompositeGridData.horizontalSpan = 3;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   641
		groupCompositeGridData.grabExcessHorizontalSpace = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   642
		groupCompositeGridData.grabExcessVerticalSpace = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   643
		groupCompositeGridData.horizontalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   644
		groupCompositeGridData.verticalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   645
		groupComposite.setLayoutData(groupCompositeGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   646
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   647
		// Set grid layout to groupComposite
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   648
		GridLayout groupCompositeGridLayout = new GridLayout();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   649
		groupCompositeGridLayout.numColumns = 2;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   650
		groupComposite.setLayout(groupCompositeGridLayout);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   651
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   652
		// Create group table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   653
		groupTable = new Table(groupComposite, SWT.BORDER | SWT.FULL_SELECTION
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   654
				| SWT.MULTI);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   655
		groupTable.setHeaderVisible(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   656
		groupTable.setLinesVisible(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   657
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   658
		// Set grid data to group table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   659
		GridData groupTableGridData = new GridData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   660
		groupTableGridData.grabExcessHorizontalSpace = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   661
		groupTableGridData.grabExcessVerticalSpace = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   662
		groupTableGridData.horizontalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   663
		groupTableGridData.verticalAlignment = GridData.FILL;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   664
		groupTableGridData.heightHint = 250;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   665
		groupTableGridData.widthHint = 450;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   666
		groupTableGridData.horizontalSpan = 2;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   667
		groupTable.setLayoutData(groupTableGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   668
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   669
		// Group ID column
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   670
		TableColumn groupIdColumn = new TableColumn(groupTable, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   671
		groupIdColumn.setText("ID"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   672
		groupIdColumn.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   673
				.getString("TraceActivationDialog.IdColumnToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   674
		groupIdColumn.setWidth(45);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   675
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   676
		// Group name column
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   677
		TableColumn groupNameColumn = new TableColumn(groupTable, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   678
		groupNameColumn.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   679
				.getString("TraceActivationDialog.GroupColumnText")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   680
		groupNameColumn.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   681
				.getString("TraceActivationDialog.GroupColumnToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   682
		groupNameColumn.setWidth(355);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   683
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   684
		// State column
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   685
		TableColumn stateColumn = new TableColumn(groupTable, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   686
		stateColumn.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   687
				.getString("TraceActivationDialog.StateColumnText")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   688
		stateColumn.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   689
				.getString("TraceActivationDialog.StateColumnToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   690
		stateColumn.setWidth(50);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   691
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   692
		// Create group filter label
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   693
		Label groupFilterLabel = new Label(groupComposite, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   694
		groupFilterLabel.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   695
				.getString("TraceActivationDialog.FilterInfoText")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   696
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   697
		// Create group filter text field
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   698
		groupFilterText = new Text(groupComposite, SWT.BORDER);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   699
		GridData groupFilterTextGridData = new GridData(SWT.FILL, SWT.CENTER,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   700
				true, false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   701
		groupFilterText.setToolTipText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   702
				.getString("TraceActivationDialog.GroupFilterToolTip")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   703
		groupFilterText.setLayoutData(groupFilterTextGridData);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   704
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   705
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   706
	/*
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   707
	 * (non-Javadoc)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   708
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   709
	 * @see com.nokia.traceviewer.dialog.BaseDialog#createActionListeners()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   710
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   711
	@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   712
	public void createActionListeners() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   713
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   714
		// Add selection listener to component Table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   715
		dictionaryTable.addSelectionListener(new SelectionAdapter() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   716
			@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   717
			public void widgetSelected(SelectionEvent event) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   718
				TraceViewerGlobals.postUiEvent("ComponentTableSelection" //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   719
						+ dictionaryTable.getSelectionIndex(), "1"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   720
				setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   721
				TraceViewerGlobals.postUiEvent("ComponentTableSelection" //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   722
						+ dictionaryTable.getSelectionIndex(), "0"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   723
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   724
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   725
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   726
		// Add empty drag listener to remove annoyance
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   727
		dictionaryTable.addDragDetectListener(new DragDetectListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   728
			public void dragDetected(DragDetectEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   729
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   730
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   731
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   732
		// Add mouse listener to component Table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   733
		dictionaryTable.addMouseListener(new MouseListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   734
			public void mouseDoubleClick(MouseEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   735
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   736
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   737
			public void mouseDown(MouseEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   738
				if (e.button == RIGHT_MOUSE_BUTTON) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   739
					Menu menu = new Menu(dictionaryTable.getShell(), SWT.POP_UP);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   740
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   741
					// Activate Dictionary item
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   742
					MenuItem activateItem = new MenuItem(menu, SWT.PUSH);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   743
					String activateAllText = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   744
							.getString("TraceActivationDialog.ActivateAllText"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   745
					activateItem.setText(activateAllText);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   746
					if (dictionaryTable.getSelectionCount() > 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   747
						activateItem.setEnabled(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   748
					} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   749
						activateItem.setEnabled(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   750
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   751
					activateItem.addSelectionListener(new SelectionAdapter() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   752
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   753
						@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   754
						public void widgetSelected(SelectionEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   755
							activateSelectedComponents();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   756
						}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   757
					});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   758
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   759
					// Deactivate Dictionary item
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   760
					MenuItem deactivateItem = new MenuItem(menu, SWT.PUSH);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   761
					String deActivateAllText = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   762
							.getString("TraceActivationDialog.DeActivateAllText"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   763
					deactivateItem.setText(deActivateAllText);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   764
					if (dictionaryTable.getSelectionCount() > 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   765
						deactivateItem.setEnabled(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   766
					} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   767
						deactivateItem.setEnabled(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   768
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   769
					deactivateItem.addSelectionListener(new SelectionAdapter() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   770
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   771
						@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   772
						public void widgetSelected(SelectionEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   773
							deactivateSelectedComponents();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   774
						}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   775
					});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   776
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   777
					// Draws pop up menu:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   778
					Point pt = new Point(e.x, e.y);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   779
					pt = dictionaryTable.toDisplay(pt);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   780
					menu.setLocation(pt.x, pt.y);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   781
					menu.setVisible(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   782
				} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   783
					firstDictionarySelected = dictionaryTable
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   784
							.getSelectionIndex();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   785
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   786
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   787
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   788
			public void mouseUp(MouseEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   789
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   790
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   791
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   792
		// Add mouse move listener to component Table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   793
		dictionaryTable.addMouseMoveListener(new MouseMoveListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   794
			public void mouseMove(MouseEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   795
				if ((e.stateMask & SWT.BUTTON1) != 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   796
					TableItem selected = dictionaryTable.getItem(new Point(e.x,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   797
							e.y));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   798
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   799
					int oldSelectionLength = dictionaryTable
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   800
							.getSelectionCount();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   801
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   802
					if (selected != null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   803
						int idx = dictionaryTable.indexOf(selected);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   804
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   805
						if (idx < firstDictionarySelected) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   806
							dictionaryTable.setSelection(idx,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   807
									firstDictionarySelected);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   808
						} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   809
							dictionaryTable.setSelection(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   810
									firstDictionarySelected, idx);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   811
						}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   812
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   813
						// Selection is null, it means we can select everything
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   814
					} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   815
						dictionaryTable.setSelection(firstDictionarySelected,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   816
								dictionaryTable.getItemCount() - 1);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   817
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   818
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   819
					// If selection count changed, insert new groups to the
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   820
					// group table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   821
					if (oldSelectionLength != dictionaryTable
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   822
							.getSelectionCount()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   823
						setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   824
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   825
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   826
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   827
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   828
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   829
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   830
		// Add selection listener to group Table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   831
		groupTable.addSelectionListener(new SelectionAdapter() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   832
			@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   833
			public void widgetSelected(SelectionEvent event) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   834
				TraceViewerGlobals.postUiEvent("GroupTableSelection" //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   835
						+ groupTable.getSelectionIndex(), "1"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   836
				TraceViewerGlobals.postUiEvent("GroupTableSelection" //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   837
						+ groupTable.getSelectionIndex(), "0"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   838
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   839
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   840
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   841
		// Add empty drag listener to remove annoyance
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   842
		groupTable.addDragDetectListener(new DragDetectListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   843
			public void dragDetected(DragDetectEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   844
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   845
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   846
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   847
		// Add mouse listener to group Table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   848
		groupTable.addMouseListener(new MouseListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   849
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   850
			@SuppressWarnings("unchecked")
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   851
			public void mouseDoubleClick(MouseEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   852
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   853
				// Get selected groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   854
				TableItem[] selectedGroupItems = groupTable.getSelection();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   855
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   856
				// Save top index to jump back after recreation of group table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   857
				int topIndex = groupTable.getTopIndex();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   858
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   859
				for (int i = 0; i < selectedGroupItems.length; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   860
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   861
					// If state is both, activate all
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   862
					boolean activateAll = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   863
					if (selectedGroupItems[i].getForeground().equals(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   864
							STATE_BOTH_COLOR)) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   865
						activateAll = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   866
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   867
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   868
					// Activate from items
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   869
					ArrayList groups = (ArrayList) selectedGroupItems[i]
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   870
							.getData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   871
					for (int j = 0; j < groups.size(); j++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   872
						if (activateAll) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   873
							((TraceActivationGroupItem) groups.get(j))
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   874
									.setActivated(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   875
						} else if (((TraceActivationGroupItem) groups.get(j))
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   876
								.isActivated()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   877
							((TraceActivationGroupItem) groups.get(j))
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   878
									.setActivated(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   879
						} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   880
							((TraceActivationGroupItem) groups.get(j))
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   881
									.setActivated(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   882
						}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   883
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   884
						// Add corresponding component to the changed list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   885
						addToChangedList(((TraceActivationGroupItem) groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   886
								.get(j)).getParent());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   887
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   888
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   889
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   890
				setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   891
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   892
				// Restore the top index
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   893
				groupTable.setTopIndex(topIndex);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   894
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   895
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   896
			public void mouseDown(MouseEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   897
				if (e.button == RIGHT_MOUSE_BUTTON) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   898
					Menu menu = new Menu(groupTable.getShell(), SWT.POP_UP);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   899
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   900
					// Activate groups item
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   901
					MenuItem activateItem = new MenuItem(menu, SWT.PUSH);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   902
					activateItem.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   903
							.getString("TraceActivationDialog.ActivateText")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   904
					if (groupTable.getSelectionCount() > 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   905
						activateItem.setEnabled(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   906
					} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   907
						activateItem.setEnabled(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   908
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   909
					activateItem.addSelectionListener(new SelectionAdapter() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   910
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   911
						@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   912
						public void widgetSelected(SelectionEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   913
							activateSelectedGroups();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   914
						}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   915
					});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   916
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   917
					// Deactivate groups item
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   918
					MenuItem deactivateItem = new MenuItem(menu, SWT.PUSH);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   919
					deactivateItem.setText(Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   920
							.getString("TraceActivationDialog.DeActivateText")); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   921
					if (groupTable.getSelectionCount() > 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   922
						deactivateItem.setEnabled(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   923
					} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   924
						deactivateItem.setEnabled(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   925
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   926
					deactivateItem.addSelectionListener(new SelectionAdapter() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   927
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   928
						@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   929
						public void widgetSelected(SelectionEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   930
							deactivateSelectedGroups();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   931
						}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   932
					});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   933
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   934
					// Draws pop up menu:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   935
					Point pt = new Point(e.x, e.y);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   936
					pt = groupTable.toDisplay(pt);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   937
					menu.setLocation(pt.x, pt.y);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   938
					menu.setVisible(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   939
				} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   940
					firstGroupSelected = groupTable.getSelectionIndex();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   941
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   942
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   943
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   944
			public void mouseUp(MouseEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   945
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   946
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   947
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   948
		// Add mouse move listener to group Table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   949
		groupTable.addMouseMoveListener(new MouseMoveListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   950
			public void mouseMove(MouseEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   951
				if ((e.stateMask & SWT.BUTTON1) != 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   952
					TableItem selected = groupTable
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   953
							.getItem(new Point(e.x, e.y));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   954
					if (selected != null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   955
						int idx = groupTable.indexOf(selected);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   956
						if (idx < firstGroupSelected) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   957
							groupTable.setSelection(idx, firstGroupSelected);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   958
						} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   959
							groupTable.setSelection(firstGroupSelected, idx);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   960
						}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   961
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   962
						// Selected is null, we can select all
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   963
					} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   964
						groupTable.setSelection(firstGroupSelected, groupTable
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   965
								.getItemCount() - 1);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   966
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   967
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   968
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   969
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   970
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   971
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   972
		// Add modify listener to component filter
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   973
		dictionaryFilterText.addModifyListener(new ModifyListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   974
			public void modifyText(ModifyEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   975
				selectComponentsByFilter(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   976
				savedComponentFilter = dictionaryFilterText.getText();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   977
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   978
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   979
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   980
		// Add modify listener to group filter
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   981
		groupFilterText.addModifyListener(new ModifyListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   982
			public void modifyText(ModifyEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   983
				setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   984
				if (groupFilterText.getText().length() > 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   985
					groupTable.selectAll();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   986
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   987
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   988
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   989
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   990
		// Add Dictionary button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   991
		addDictionaryButton.addSelectionListener(new SelectionAdapter() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   992
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   993
			@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   994
			public void widgetSelected(SelectionEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   995
				TraceViewerGlobals.getTraceViewer().getView()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   996
						.getActionFactory().getAppendDecodeFileAction().run();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   997
				updateActivationInformation(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   998
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   999
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1000
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1001
		// Remove Dictionary button
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1002
		removeDictionaryButton.addSelectionListener(new SelectionAdapter() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1003
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1004
			@Override
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1005
			public void widgetSelected(SelectionEvent e) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1006
				int[] componentIds = dictionaryTable.getSelectionIndices();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1007
				String[] removedFilePaths = new String[componentIds.length];
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1008
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1009
				// Loop through selected indices
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1010
				for (int i = 0; i < componentIds.length; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1011
					TraceActivationComponentItem comp = currentComponents
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1012
							.get(componentIds[i]);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1013
					int cid = comp.getId();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1014
					removedFilePaths[i] = comp.getFilePath();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1015
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1016
					// Remove component from the model
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1017
					TraceViewerGlobals.getDecodeProvider()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1018
							.removeComponentFromModel(cid);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1019
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1020
					// Remove components from changed components list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1021
					for (int j = changedComponents.size() - 1; j >= 0; j--) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1022
						if (changedComponents.get(j).getId() == cid) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1023
							changedComponents.remove(j);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1024
						}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1025
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1026
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1027
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1028
				// Tell reload action to update files to be watched
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1029
				ReloadDecodeFilesAction action = (ReloadDecodeFilesAction) TraceViewerGlobals
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1030
						.getTraceViewer().getView().getActionFactory()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1031
						.getReloadDecodeFilesAction();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1032
				action.updateFilesToBeWatched();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1033
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1034
				// Update dialog information
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1035
				updateActivationInformation(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1036
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1037
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1038
		});
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1039
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1040
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1041
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1042
	 * Activates selected components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1043
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1044
	private void activateSelectedComponents() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1045
		TraceViewerGlobals.postUiEvent("ComponentActivateButton", "1"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1046
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1047
		// Get selected components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1048
		int[] selected = dictionaryTable.getSelectionIndices();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1049
		for (int i = 0; i < selected.length; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1050
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1051
			// Get all groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1052
			List<TraceActivationGroupItem> groups = currentComponents.get(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1053
					selected[i]).getGroups();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1054
			for (int j = 0; j < groups.size(); j++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1055
				groups.get(j).setActivated(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1056
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1057
				// Add component to changed list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1058
				addToChangedList(groups.get(j).getParent());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1059
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1060
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1061
		setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1062
		TraceViewerGlobals.postUiEvent("ComponentActivateButton", "0"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1063
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1064
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1065
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1066
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1067
	 * Deactivates selected components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1068
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1069
	private void deactivateSelectedComponents() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1070
		TraceViewerGlobals.postUiEvent("ComponentDeactivateButton", "1"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1071
		// Get selected components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1072
		int[] selected = dictionaryTable.getSelectionIndices();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1073
		for (int i = 0; i < selected.length; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1074
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1075
			// Get all groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1076
			List<TraceActivationGroupItem> groups = currentComponents.get(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1077
					selected[i]).getGroups();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1078
			for (int j = 0; j < groups.size(); j++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1079
				groups.get(j).setActivated(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1080
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1081
				// Add component to changed list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1082
				addToChangedList(groups.get(j).getParent());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1083
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1084
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1085
		setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1086
		TraceViewerGlobals.postUiEvent("ComponentDeactivateButton", "0"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1087
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1088
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1089
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1090
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1091
	 * Activates selected groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1092
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1093
	private void activateSelectedGroups() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1094
		// Save top index to jump back after recreation of group table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1095
		int topIndex = groupTable.getTopIndex();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1096
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1097
		TraceViewerGlobals.postUiEvent("GroupActivateButton", "1"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1098
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1099
		// Get selection indices
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1100
		int[] selectionIndeces = groupTable.getSelectionIndices();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1101
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1102
		// Get selected groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1103
		TableItem[] selectedGroupItems = groupTable.getSelection();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1104
		for (int i = 0; i < selectedGroupItems.length; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1105
			// Activate from items
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1106
			ArrayList<?> groups = (ArrayList<?>) selectedGroupItems[i]
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1107
					.getData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1108
			for (int j = 0; j < groups.size(); j++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1109
				TraceActivationGroupItem item = ((TraceActivationGroupItem) groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1110
						.get(j));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1111
				item.setActivated(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1112
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1113
				// Add component to changed list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1114
				addToChangedList(item.getParent());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1115
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1116
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1117
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1118
		setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1119
		groupTable.setSelection(selectionIndeces);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1120
		groupTable.setFocus();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1121
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1122
		// Restore the top index
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1123
		groupTable.setTopIndex(topIndex);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1124
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1125
		TraceViewerGlobals.postUiEvent("GroupActivateButton", "0"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1126
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1127
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1128
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1129
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1130
	 * Deactivates selected groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1131
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1132
	private void deactivateSelectedGroups() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1133
		// Save top index to jump back after recreation of group table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1134
		int topIndex = groupTable.getTopIndex();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1135
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1136
		TraceViewerGlobals.postUiEvent("GroupDeactivateButton", "1"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1137
		// Get selectionIndices
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1138
		int[] selectionIndeces = groupTable.getSelectionIndices();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1139
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1140
		// Get selected groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1141
		TableItem[] selectedGroupItems = groupTable.getSelection();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1142
		for (int i = 0; i < selectedGroupItems.length; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1143
			// Activate from items
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1144
			ArrayList<?> groups = (ArrayList<?>) selectedGroupItems[i]
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1145
					.getData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1146
			for (int j = 0; j < groups.size(); j++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1147
				TraceActivationGroupItem item = ((TraceActivationGroupItem) groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1148
						.get(j));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1149
				item.setActivated(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1150
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1151
				// Add component to changed list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1152
				addToChangedList(item.getParent());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1153
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1154
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1155
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1156
		setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1157
		groupTable.setSelection(selectionIndeces);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1158
		groupTable.setFocus();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1159
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1160
		// Restore the top index
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1161
		groupTable.setTopIndex(topIndex);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1162
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1163
		TraceViewerGlobals.postUiEvent("GroupDeactivateButton", "0"); //$NON-NLS-1$ //$NON-NLS-2$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1164
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1165
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1166
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1167
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1168
	 * Sets components to the Dictionaries table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1169
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1170
	 * @param components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1171
	 *            list of components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1172
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1173
	private void setComponentsToTable(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1174
			List<TraceActivationComponentItem> components) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1175
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1176
		// Empty the table first
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1177
		dictionaryTable.removeAll();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1178
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1179
		// Loop trough component list and create tableitems
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1180
		for (int i = 0; i < components.size(); i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1181
			TableItem item = new TableItem(dictionaryTable, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1182
			item.setText(components.get(i).getName());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1183
			item.setData(components.get(i));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1184
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1185
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1186
		// Select the previous one and set groups from that component
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1187
		if (dictionaryTable.getItemCount() >= previousSelectedDictionaryIndices.length) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1188
			dictionaryTable.setSelection(previousSelectedDictionaryIndices);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1189
			setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1190
		} else if (dictionaryTable.getItemCount() > 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1191
			dictionaryTable.setSelection(0);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1192
			setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1193
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1194
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1195
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1196
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1197
	 * Sets groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1198
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1199
	private void setGroupsToTable() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1200
		groupTable.removeAll();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1201
		int[] selected = dictionaryTable.getSelectionIndices();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1202
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1203
		// Create TraceActivationGroupTableItems
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1204
		List<TraceActivationGroupTableItem> items = createTraceActivationGroupTableItems(selected);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1205
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1206
		// Loop through all table items
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1207
		for (int i = 0; i < items.size(); i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1208
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1209
			StringBuffer text = new StringBuffer();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1210
			String id = "*"; //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1211
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1212
			// More than one components with the same group
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1213
			if (items.get(i).getComponentCount() > 1) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1214
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1215
				String multipleGroupsMsg1 = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1216
						.getString("TraceActivationDialog.MultipleGroupsMessage1"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1217
				String multipleGroupsMsg2 = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1218
						.getString("TraceActivationDialog.MultipleGroupsMessage2"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1219
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1220
				// Append texts to the buffer
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1221
				text.append(items.get(i).getName());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1222
				text.append(multipleGroupsMsg1);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1223
				text.append(items.get(i).getComponentCount());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1224
				text.append(multipleGroupsMsg2);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1225
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1226
				// One component's group with many components selected
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1227
			} else if (dictionaryTable.getSelectionCount() > 1) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1228
				String idStr = Integer.toHexString(items.get(i).getId());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1229
				if (idStr.length() == 1) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1230
					idStr = LEAD_ZERO + idStr;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1231
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1232
				id = HEX_PREFIX + idStr;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1233
				text.append(items.get(i).getName());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1234
				text.append(' ');
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1235
				text.append('(');
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1236
				text.append(items.get(i).getRealGroups().get(0).getParent()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1237
						.getName());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1238
				text.append(')');
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1239
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1240
				// One component with one component selected
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1241
			} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1242
				String idStr = Integer.toHexString(items.get(i).getId());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1243
				if (idStr.length() == 1) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1244
					idStr = LEAD_ZERO + idStr;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1245
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1246
				id = HEX_PREFIX + idStr;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1247
				text.append(items.get(i).getName());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1248
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1249
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1250
			// Check if this group matches the filter
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1251
			if (checkGroupFilter(items.get(i).getName())) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1252
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1253
				TableItem item = new TableItem(groupTable, SWT.NONE);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1254
				item.setText(id);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1255
				item.setText(1, text.toString());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1256
				item.setData(items.get(i).getRealGroups());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1257
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1258
				String activated = ""; //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1259
				Color color;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1260
				if (items.get(i).isDifferentStates()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1261
					activated = STATE_BOTH_STRING;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1262
					color = STATE_BOTH_COLOR;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1263
				} else if (items.get(i).isActivated()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1264
					activated = STATE_ON_STRING;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1265
					color = STATE_ON_COLOR;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1266
				} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1267
					activated = STATE_OFF_STRING;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1268
					color = STATE_OFF_COLOR;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1269
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1270
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1271
				item.setText(2, activated);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1272
				item.setForeground(color);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1273
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1274
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1275
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1276
		// Set remove Dictionary button status
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1277
		if (selected.length > 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1278
			removeDictionaryButton.setEnabled(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1279
		} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1280
			removeDictionaryButton.setEnabled(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1281
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1282
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1283
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1284
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1285
	 * Checks if this group name matches the set group filter
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1286
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1287
	 * @param groupName
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1288
	 *            group name
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1289
	 * @return true if this group should be visible in the table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1290
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1291
	private boolean checkGroupFilter(String groupName) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1292
		boolean showGroup = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1293
		if (!groupFilterText.getText().equals("")) { //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1294
			if (groupName.toLowerCase().contains(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1295
					groupFilterText.getText().toLowerCase())
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1296
					|| groupFilterText.getText().equals("*")) { //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1297
			} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1298
				showGroup = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1299
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1300
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1301
		return showGroup;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1302
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1303
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1304
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1305
	 * Creates group table items
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1306
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1307
	 * @param selected
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1308
	 *            selected components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1309
	 * @return list of group table items to insert to table
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1310
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1311
	private List<TraceActivationGroupTableItem> createTraceActivationGroupTableItems(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1312
			int[] selected) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1313
		List<TraceActivationGroupTableItem> tableItems = new ArrayList<TraceActivationGroupTableItem>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1314
		List<TraceActivationGroupItem> realItems = new ArrayList<TraceActivationGroupItem>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1315
		// Loop through selected components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1316
		for (int i = 0; i < selected.length; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1317
			// Get groups from this component
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1318
			List<TraceActivationGroupItem> groups = currentComponents.get(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1319
					selected[i]).getGroups();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1320
			// Insert all groups
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1321
			realItems.addAll(groups);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1322
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1323
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1324
		// Now we have list of all groups, start inserting to the tableItems
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1325
		for (int k = 0; k < realItems.size(); k++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1326
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1327
			// Check that this groups is not in the array yet
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1328
			boolean inArray = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1329
			for (int l = 0; l < tableItems.size(); l++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1330
				// Is in array
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1331
				if (realItems.get(k).getName().equals(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1332
						tableItems.get(l).getName())) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1333
					tableItems.get(l).setComponentCount(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1334
							tableItems.get(l).getComponentCount() + 1);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1335
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1336
					// Two different states
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1337
					if (realItems.get(k).isActivated() != tableItems.get(l)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1338
							.isActivated()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1339
						tableItems.get(l).setDifferentStates(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1340
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1341
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1342
					tableItems.get(l).getRealGroups().add(realItems.get(k));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1343
					inArray = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1344
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1345
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1346
			// If not in array, put it there
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1347
			if (!inArray) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1348
				TraceActivationGroupTableItem newItem = new TraceActivationGroupTableItem();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1349
				newItem.setComponentCount(1);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1350
				newItem.setDifferentStates(false);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1351
				newItem.setId(realItems.get(k).getId());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1352
				newItem.setName(realItems.get(k).getName());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1353
				newItem.setActivated(realItems.get(k).isActivated());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1354
				newItem.getRealGroups().add(realItems.get(k));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1355
				tableItems.add(newItem);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1356
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1357
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1358
		return tableItems;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1359
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1360
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1361
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1362
	 * Selects components by filter
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1363
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1364
	 * @param firstTime
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1365
	 *            if true, this is called when opening the dialog and not
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1366
	 *            because the filter text changed
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1367
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1368
	private void selectComponentsByFilter(boolean firstTime) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1369
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1370
		// Remove old components
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1371
		if (!dictionaryFilterText.getText().equals("")) { //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1372
			dictionaryTable.removeAll();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1373
			currentComponents.clear();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1374
			for (int i = 0; i < allComponents.size(); i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1375
				if (allComponents.get(i).getName().toLowerCase().contains(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1376
						dictionaryFilterText.getText().toLowerCase())
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1377
						|| dictionaryFilterText.getText().equals("*")) { //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1378
					currentComponents.add(allComponents.get(i));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1379
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1380
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1381
			setComponentsToTable(currentComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1382
			dictionaryTable.selectAll();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1383
		} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1384
			// Filter removed, copy all items
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1385
			copyItems(allComponents, currentComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1386
			setComponentsToTable(currentComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1387
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1388
			if (!firstTime) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1389
				dictionaryTable.deselectAll();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1390
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1391
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1392
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1393
		setGroupsToTable();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1394
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1395
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1396
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1397
	 * Copies activation items from list to another. Empties the destination
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1398
	 * list before copying.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1399
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1400
	 * @param fromList
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1401
	 *            from array
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1402
	 * @param toList
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1403
	 *            destination array
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1404
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1405
	private void copyItems(List<TraceActivationComponentItem> fromList,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1406
			List<TraceActivationComponentItem> toList) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1407
		toList.clear();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1408
		for (int i = 0; i < fromList.size(); i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1409
			toList.add(fromList.get(i));
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1410
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1411
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1412
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1413
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1414
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1415
	 * Adds component item to changed list to wait for be sent as activation
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1416
	 * message
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1417
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1418
	 * @param item
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1419
	 *            item to be added to list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1420
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1421
	private void addToChangedList(TraceActivationComponentItem item) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1422
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1423
		// Add to changed list if doesn't exist yet
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1424
		if (!changedComponents.contains(item)) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1425
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1426
			// If a component with same ID is found, remove old one
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1427
			for (int i = 0; i < changedComponents.size(); i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1428
				if (changedComponents.get(i).getId() == item.getId()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1429
					changedComponents.remove(i);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1430
					break;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1431
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1432
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1433
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1434
			changedComponents.add(item);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1435
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1436
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1437
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1438
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1439
	 * Sets model changed
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1440
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1441
	 * @param modelChanged
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1442
	 *            the modelChanged to set
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1443
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1444
	public void setModelChanged(boolean modelChanged) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1445
		this.modelChanged = modelChanged;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1446
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1447
		// Dialog open, update
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1448
		if (getShell() != null && !getShell().isDisposed()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1449
			getActivationInformation();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1450
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1451
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1452
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1453
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1454
	 * Sends activation information
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1455
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1456
	private void sendActivationInformation() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1457
		if (TraceViewerGlobals.getTraceViewer().getConnection() != null
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1458
				&& TraceViewerGlobals.getTraceViewer().getConnection()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1459
						.isConnected()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1460
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1461
			// Set all selected components to be changed
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1462
			// Get selected components and add them to changed list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1463
			int[] selected = dictionaryTable.getSelectionIndices();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1464
			for (int i = 0; i < selected.length; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1465
				TraceActivationComponentItem component = currentComponents
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1466
						.get(selected[i]);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1467
				addToChangedList(component);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1468
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1469
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1470
			// Activate
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1471
			new TraceActivator().activate(changedComponents);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1472
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1473
			// No connection, post error to Trace Events
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1474
		} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1475
			String notOpenMsg = Messages
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1476
					.getString("TraceActivationDialog.CannotSendConnectionNotOpen"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1477
			TraceViewerGlobals.postErrorEvent(notOpenMsg,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1478
					TRACE_ACTIVATION_CATEGORY, null);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1479
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1480
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1481
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1482
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1483
	 * Checks if the dialog is open
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1484
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1485
	 * @return true if dialog is open
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1486
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1487
	public boolean isOpen() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1488
		boolean isOpen = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1489
		if (getShell() != null && !getShell().isDisposed()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1490
			isOpen = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1491
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1492
		return isOpen;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1493
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1494
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1495
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1496
	 * Sets focus to this dialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1497
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1498
	public void setFocus() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1499
		if (!getShell().isDisposed()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1500
			getShell().setFocus();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1501
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1502
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
  1503
}