sysperfana/memspyext/com.nokia.s60tools.memspy/src/com/nokia/s60tools/memspy/ui/dialogs/SWMTCategoriesDialog.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Wed, 21 Apr 2010 20:01:08 +0300
changeset 7 8e12a575a9b5
permissions -rw-r--r--
MemSpy Carbide Extension 1.6.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
* Contributors:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
* Description:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
*/
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
package com.nokia.s60tools.memspy.ui.dialogs;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
import java.util.ArrayList;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
import org.eclipse.jface.dialogs.IDialogConstants;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
import org.eclipse.jface.dialogs.IMessageProvider;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import org.eclipse.jface.dialogs.TitleAreaDialog;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
import org.eclipse.jface.viewers.CheckboxTableViewer;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
import org.eclipse.jface.viewers.ISelectionChangedListener;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import org.eclipse.jface.viewers.IStructuredContentProvider;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import org.eclipse.jface.viewers.ITableLabelProvider;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
import org.eclipse.jface.viewers.LabelProvider;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import org.eclipse.jface.viewers.SelectionChangedEvent;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import org.eclipse.jface.viewers.Viewer;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
import org.eclipse.swt.SWT;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
import org.eclipse.swt.events.SelectionEvent;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
import org.eclipse.swt.events.SelectionListener;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
import org.eclipse.swt.graphics.Image;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
import org.eclipse.swt.graphics.Point;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
import org.eclipse.swt.layout.GridData;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
import org.eclipse.swt.layout.GridLayout;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
import org.eclipse.swt.widgets.Button;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
import org.eclipse.swt.widgets.Composite;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
import org.eclipse.swt.widgets.Control;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
import org.eclipse.swt.widgets.Group;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
import org.eclipse.swt.widgets.Label;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
import org.eclipse.swt.widgets.MessageBox;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
import org.eclipse.swt.widgets.Shell;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
import org.eclipse.swt.widgets.Text;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
import org.eclipse.ui.PlatformUI;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
import com.nokia.s60tools.memspy.model.SWMTCategoryConstants;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
import com.nokia.s60tools.memspy.model.SWMTCategorys;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
import com.nokia.s60tools.memspy.preferences.MemSpyPreferences;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
import com.nokia.s60tools.memspy.resources.HelpContextIDs;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
import com.nokia.s60tools.memspy.resources.ImageKeys;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
import com.nokia.s60tools.memspy.resources.ImageResourceManager;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
import com.nokia.s60tools.memspy.util.MemSpyConsole;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
import com.nokia.s60tools.ui.S60ToolsTable;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
import com.nokia.s60tools.ui.S60ToolsTableColumnData;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
import com.nokia.s60tools.ui.S60ToolsTableFactory;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
import com.nokia.s60tools.ui.S60ToolsUIConstants;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
 * Dialog for selecting SWMT categories to be tracked. 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
public class SWMTCategoriesDialog extends TitleAreaDialog{	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
	// Private classes
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
	private static final String HEAP_DATA_THREAD_FILTER_TXT = "Heap Data Thread Filter";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    75
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    76
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
	 * Label provider for table viewer component.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    78
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    79
	class SWMTCategoryViewerLabelProvider extends LabelProvider implements ITableLabelProvider{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    80
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    81
		/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
		 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
		public Image getColumnImage(Object element, int columnIndex) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
			return null; // No images used
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    88
		/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    89
		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
		 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
		public String getColumnText(Object element, int columnIndex) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
			String label = element.toString();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    94
			SWMTCategoryEntry entryData = (SWMTCategoryEntry) element;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    95
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
			switch (columnIndex) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
				case SWMTCategoryEntry.NAME_COLUMN_INDEX:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
					label = entryData.getCategoryName();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   100
					break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
							
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
				default:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
					MemSpyConsole.getInstance().println("Unexpected column index: " + columnIndex, MemSpyConsole.MSG_ERROR); //$NON-NLS-1$ //$NON-NLS-2$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   104
					break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   105
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
			return label;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
	// Private constants
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
	 * Columns in the container area.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
	private static final int COLUMN_COUNT = 1;	  
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
	 * Dialog width.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
	private static final int DIALOG_WIDTH = 425;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
	 * Dialog height.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
	private static final int DIALOG_HEIGHT = 550;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
	 * Percentage as decimal number how much table viewer is taking space horizontally. 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
	private static final double TABLE_VIEWER_WIDTH_PERCENTAGE = 0.8;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
	 * Default guiding message shown to the user in add new mode.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
	private static final String DEFAULT_MESSAGE = "Set advanced options and tracked SWMT categories.";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
	 * Complete message shown to the user in add new mode.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
	private static final String COMPLETE_MESSAGE = "Press OK to save advanced options and set categories to be tracked";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
	 * Error message shown to the user in case no categories are selected.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
	private static final String ERROR_MESSAGE = "At least single category must be selected";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
	 * UI text for closing Symbian agent
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
	private static final String  CLOSE_MEM_SPY_BETWEEN_CYCLES_TEXT  = "Close MemSpy Symbian Agent Between Cycles";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
	 * Tip text for closing Symbian agent
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   159
	private static final String  CLOSE_MEM_SPY_BETWEEN_CYCLES_TIP_TEXT = "Choose if the MemSpy Symbian agent in S60 target is closed between cycles. That is more realistic use case for memory usage point of view.";	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
	// Member data
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
	 * Flag used to make sure that create() and open() are called in correct order.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
	private boolean isCreateCalled = false;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
	// UI Controls
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
	//	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
	 * Container area for individual fields for the user for entering information.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
	private Composite container;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
	 * Reference to OK button that can be disabled/enabled 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
	 * due to current category selection-
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
	private Button okActionBtn;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
	 * Viewer showing currently selected category file entries.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   189
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   190
	private CheckboxTableViewer categoryViewer;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   191
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   193
	 * Selected categories as a result of bitwise OR.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
	private int categorySelection = SWMTCategoryConstants.CATEGORY_ALL;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
	//User Heap filter text field
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
	private Text heapText;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   199
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   200
	private Button closeBetweenCyclesButton;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   201
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   202
	private Button heapDumpBtn;	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   203
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   204
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   205
	 * Constructor. Used to open dialog in order to add new entry.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   206
	 * @param parentShell Parent shell for the dialog.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   207
	 * @param categorySelection integer containing initially selected categories as a result of bitwise OR. 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   208
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   209
	public SWMTCategoriesDialog(Shell parentShell, int categorySelection) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   210
		super(parentShell);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   211
		this.categorySelection = categorySelection;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   212
		// Setting banner image
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   213
		String bannerImage = ImageKeys.IMG_WIZARD;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   214
		setTitleImage(ImageResourceManager.getImage(bannerImage));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   215
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   216
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   217
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   218
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   219
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   220
     * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   221
     */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   222
    protected void createButtonsForButtonBar(Composite parent) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   223
        createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   224
                true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   225
        createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   226
                true);     
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   227
		okActionBtn = getButton(IDialogConstants.OK_ID);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   228
    }
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   229
    
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   230
    /* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   231
     * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   232
     */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   233
    protected void configureShell(Shell shell) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   234
        super.configureShell(shell);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   235
        shell.setText("SWMT Categories and Advanced Options");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   236
    }    
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   237
    
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   238
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   239
	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   240
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   241
	protected Control createDialogArea(Composite parent) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   242
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   243
		Composite dialogAreaComposite = (Composite) super.createDialogArea(parent);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   244
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   245
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   246
		// Creating container and layout for it
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   247
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   248
		container = new Composite(dialogAreaComposite, SWT.NONE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   249
		GridLayout gdl = new GridLayout(COLUMN_COUNT, false);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   250
		// Settings margins according Carbide branding guideline
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   251
		gdl.marginLeft = S60ToolsUIConstants.MARGIN_BTW_FRAME_AND_CONTENTS;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   252
		gdl.marginRight = S60ToolsUIConstants.MARGIN_BTW_FRAME_AND_CONTENTS;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   253
		gdl.marginTop = S60ToolsUIConstants.MARGIN_BTW_FRAME_AND_CONTENTS;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   254
		gdl.marginBottom = S60ToolsUIConstants.MARGIN_BTW_FRAME_AND_CONTENTS;		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   255
		container.setLayout(gdl);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   256
		container.setLayoutData(new GridData(GridData.FILL_BOTH));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   257
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   258
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   259
		// Symbian agent options group
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   260
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   261
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   262
		createSymbianAgentOptionsGroup();				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   263
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   264
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   265
		// Head dump group
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   266
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   267
		createHeapDumpGroup();		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   268
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   269
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   270
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   271
		// Creating table viewer for showing category file entries
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   272
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   273
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   274
		categoryViewer = createCategoryCheckBoxTableViewer(container);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   275
	    GridData categoryViewerGd = new GridData(GridData.FILL_BOTH);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   276
	    // Spanning as many rows as there are actions buttons on the right
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   277
	    categoryViewerGd.verticalSpan = 3;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   278
	    categoryViewerGd.widthHint = (int) (TABLE_VIEWER_WIDTH_PERCENTAGE * DIALOG_WIDTH);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   279
		categoryViewer.getControl().setLayoutData(categoryViewerGd);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   280
		categoryViewer.setSorter(new SWMTCategoryEntryTableViewerSorter());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   281
		// Adding selection change listener
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   282
		categoryViewer.addSelectionChangedListener(new ISelectionChangedListener(){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   283
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   284
			/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   285
			 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   286
			 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   287
			public void selectionChanged(SelectionChangedEvent event) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   288
				notifySelectionChanged();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   289
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   290
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   291
		});
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   292
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   293
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   294
		// Setting providers for table viewer
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   295
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   296
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   297
		// Creating content provider
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   298
		GategoryProvider categoryViewerContentProvider = new GategoryProvider();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   299
		// Setting content provider
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   300
		categoryViewer.setContentProvider(categoryViewerContentProvider);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   301
		categoryViewer.setInput(categoryViewerContentProvider);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   302
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   303
		// Label provider
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   304
		categoryViewer.setLabelProvider(new SWMTCategoryViewerLabelProvider());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   305
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   306
		// Setting initial category selection state
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   307
		InitializeSelectionState();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   308
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   309
		// Setting context-sensitive help ID		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   310
		PlatformUI.getWorkbench().getHelpSystem().setHelp( dialogAreaComposite, HelpContextIDs.MEMSPY_IMPORT_SWMT_CATEGORIES_DIALOG);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   311
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   312
		// Dialog are composite ready
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   313
		return dialogAreaComposite;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   314
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   315
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   316
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   317
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   318
	 * Private class to provide content for category viewer
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   319
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   320
	class GategoryProvider implements IStructuredContentProvider {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   321
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   322
				/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   323
				 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   324
				 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   325
				public Object[] getElements(Object inputElement) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   326
					return SWMTCategorys.getInstance().getCategoryEntries().toArray();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   327
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   328
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   329
				/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   330
				 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   331
				 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   332
				public void dispose() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   333
					// Not needed but needs to be implemented
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   334
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   335
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   336
				public void inputChanged(Viewer viewer, Object oldInput,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   337
						Object newInput) {				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   338
					// Not used but needs to be implemented				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   339
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   340
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   341
			};	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   342
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   343
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   344
	 * Creates group for Symbian agent options
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   345
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   346
	private void createSymbianAgentOptionsGroup() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   347
		Group closeSymbianGroup = new Group(container, SWT.SHADOW_NONE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   348
		closeSymbianGroup.setText("Symbian Agent Options");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   349
		GridLayout closegl = new GridLayout(2, false);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   350
		GridData closegd = new GridData(GridData.FILL_BOTH);				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   351
		closeSymbianGroup.setLayout(closegl);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   352
		closeSymbianGroup.setLayoutData(closegd);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   353
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   354
		closeBetweenCyclesButton = new Button(closeSymbianGroup, SWT.CHECK);		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   355
		GridData closeLayoutData = new GridData(GridData.VERTICAL_ALIGN_END);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   356
		closeBetweenCyclesButton.setLayoutData( closeLayoutData);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   357
		closeBetweenCyclesButton.setToolTipText(CLOSE_MEM_SPY_BETWEEN_CYCLES_TIP_TEXT);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   358
		boolean isToBeClosedBetweenCycles = MemSpyPreferences.isCloseSymbianAgentBetweenCyclesSelected();		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   359
		closeBetweenCyclesButton.setSelection(isToBeClosedBetweenCycles);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   360
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   361
		//Label for button, separate label is used because setting text to button wont align text to same vertical 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   362
		//position than next label.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   363
		Label closeBetweenIntervalsLabel = new Label(closeSymbianGroup, SWT.LEFT );
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   364
		GridData closeBetweenLabelData = new GridData(GridData.VERTICAL_ALIGN_CENTER);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   365
		closeBetweenIntervalsLabel.setText( CLOSE_MEM_SPY_BETWEEN_CYCLES_TEXT );
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   366
		closeBetweenIntervalsLabel.setLayoutData(closeBetweenLabelData);		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   367
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   368
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   369
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   370
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   371
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   372
	 * Creates group for Head Dumps
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   373
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   374
	private void createHeapDumpGroup() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   375
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   376
		// Head dump group
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   377
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   378
		Group headDumpGroup = new Group(container, SWT.SHADOW_NONE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   379
		headDumpGroup.setText("Heap Dumps During SWMT Logging");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   380
		GridLayout hdgl = new GridLayout(2, false);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   381
		GridData hdgd = new GridData(GridData.FILL_BOTH);				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   382
		headDumpGroup.setLayout(hdgl);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   383
		headDumpGroup.setLayoutData(hdgd);		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   384
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   385
		heapDumpBtn = new Button(headDumpGroup, SWT.CHECK);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   386
		heapDumpBtn.setText("Get Heap Dumps for Threads to Analyse with Heap Analyser");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   387
		heapDumpBtn.setToolTipText("Set if Heap Dumps is to be received for Threads during SWMT logging");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   388
		heapDumpBtn.addSelectionListener(new HeadDumpSelectionListener());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   389
		heapDumpBtn.setSelection(MemSpyPreferences.isSWMTHeapDumpSelected());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   390
		GridData hdBtnGd = new GridData();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   391
		hdBtnGd.horizontalSpan = 2;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   392
		heapDumpBtn.setLayoutData(hdBtnGd);		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   393
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   394
		//Label for Heap gategory limit
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   395
		Label heapTextLabel = new Label(headDumpGroup,  SWT.LEFT );
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   396
		heapTextLabel.setText(HEAP_DATA_THREAD_FILTER_TXT + ":");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   397
		String heapFilterToolTipText = "When filter string is specified, only Threads that contain text specified will be tracked.";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   398
		heapTextLabel.setToolTipText(heapFilterToolTipText);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   399
		GridData heapTextLimitLayoutData = new GridData(GridData.VERTICAL_ALIGN_CENTER);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   400
		heapTextLabel.setLayoutData( heapTextLimitLayoutData );	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   401
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   402
		//heap limit text
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   403
		heapText = new Text(headDumpGroup, SWT.LEFT | SWT.BORDER | SWT.BORDER);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   404
		heapText.setTextLimit(120);//Text limit 128 specified in S60 side		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   405
		GridData heapTextLayoutData = new GridData(GridData.VERTICAL_ALIGN_CENTER);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   406
		heapTextLayoutData.widthHint = 140;				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   407
		heapText.setLayoutData( heapTextLayoutData );
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   408
		heapText.setToolTipText(heapFilterToolTipText);		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   409
		if(heapDumpBtn.getSelection()){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   410
			heapText.setText(MemSpyPreferences.getSWMTHeapNameFilter());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   411
		}else{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   412
			heapText.setEnabled(false);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   413
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   414
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   415
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   416
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   417
	 * Listener for Heap Dumps button, updates preferences and text in Heap Dumps group.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   418
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   419
	private class HeadDumpSelectionListener implements SelectionListener{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   420
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   421
		/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   422
		 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   423
		 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   424
		public void widgetDefaultSelected(SelectionEvent e) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   425
			// not needed
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   426
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   427
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   428
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   429
		/* 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   430
		 * Change heapText and save preferences
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   431
		 * (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   432
		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   433
		 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   434
		public void widgetSelected(SelectionEvent e) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   435
			boolean selection = heapDumpBtn.getSelection();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   436
			if(selection){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   437
				heapText.setEnabled(true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   438
				heapText.setText(MemSpyPreferences.getSWMTHeapNameFilter());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   439
			}else{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   440
				heapText.setText("");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   441
				heapText.setEnabled(false);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   442
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   443
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   444
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   445
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   446
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   447
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   448
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   449
	 * Save the heap filter text if enabled
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   450
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   451
	private void saveHeapFilterText() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   452
		//Check if heaptext is enabled, if it is, saving text to preferences
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   453
		if(heapText.isEnabled()){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   454
			String heapFilterText = heapText.getText().trim();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   455
			MemSpyPreferences.setSWMTHeapNameFilter(heapFilterText);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   456
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   457
	}	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   458
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   459
	 * Save the Close between cycles selection
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   460
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   461
	private void saveCloseS60AgentBetweenCycles() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   462
		boolean selection = closeBetweenCyclesButton.getSelection();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   463
		// User selects to close MemSpy S60 application between cycles 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   464
		MemSpyPreferences.setCloseSymbianAgentBetweenCycles(selection);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   465
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   466
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   467
	 * Save the heap dump selection
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   468
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   469
	private void saveHeapDumpSelection() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   470
		boolean selection = heapDumpBtn.getSelection();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   471
		MemSpyPreferences.setSWMTHeapDumpSelected(selection);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   472
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   473
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   474
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   475
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   476
	 /**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   477
	 * Sets initial selection state for entries
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   478
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   479
	private void InitializeSelectionState() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   480
		int size = SWMTCategorys.getInstance().getCategoryEntries().size();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   481
		for (int i = 0; i < size; i++) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   482
			SWMTCategoryEntry entry = (SWMTCategoryEntry) categoryViewer.getElementAt(i);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   483
			int isCategoryBitUp = categorySelection & entry.getCategoryId();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   484
			if(isCategoryBitUp != 0){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   485
				categoryViewer.setChecked(entry, true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   486
			}			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   487
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   488
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   489
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   490
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   491
	 * @see org.eclipse.jface.dialogs.TitleAreaDialog#getInitialSize()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   492
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   493
	protected Point getInitialSize() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   494
			return new Point(DIALOG_WIDTH, DIALOG_HEIGHT);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   495
	    }
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   496
	 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   497
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   498
	 * @see org.eclipse.jface.dialogs.Dialog#create()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   499
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   500
	public void create() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   501
		super.create();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   502
		// Currently just does creation by super call and stores status
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   503
		isCreateCalled = true;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   504
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   505
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   506
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   507
	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   508
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   509
	protected void okPressed() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   510
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   511
		if(heapDumpBtn.getSelection()){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   512
			if(heapText.getText().trim().equals("")){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   513
				System.out.println("DEBUG: WARNING! Empty heap filter text!");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   514
				MessageBox box = new MessageBox(getShell(),SWT.ICON_WARNING | SWT.YES | SWT.NO);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   515
				String warningMsg = "Empty \"" +HEAP_DATA_THREAD_FILTER_TXT 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   516
						+ "\" field causes huge amount of data to be traced and tracing may take a very long time. "
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   517
						+"It is highly recommended to use \"" +HEAP_DATA_THREAD_FILTER_TXT 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   518
						+ "\"."
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   519
						+"\n\nDo you want to continue anyway?";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   520
				box.setMessage(warningMsg);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   521
				box.setText("Using \"" +HEAP_DATA_THREAD_FILTER_TXT 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   522
						+ "\" is recommended");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   523
				int yes_no = box.open();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   524
				//If user does not want to continue but cancel, returning, otherwise just continue to save all data and exit
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   525
				if(yes_no == SWT.NO){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   526
					return;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   527
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   528
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   529
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   530
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   531
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   532
		saveHeapFilterText(); 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   533
		saveCloseS60AgentBetweenCycles();		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   534
		saveHeapDumpSelection();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   535
		super.close();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   536
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   537
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   538
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   539
	 * @see org.eclipse.jface.window.Window#open()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   540
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   541
	public int open(){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   542
		try {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   543
			// Making sure that create is called
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   544
			if(!isCreateCalled){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   545
				create();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   546
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   547
			showDefaultMessage();			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   548
		} catch (Exception e) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   549
			e.printStackTrace();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   550
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   551
		return super.open();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   552
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   553
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   554
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   555
	 * Resets possible error messages and show the default message.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   556
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   557
	private void showDefaultMessage() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   558
		setErrorMessage(null);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   559
		setMessage(DEFAULT_MESSAGE, IMessageProvider.INFORMATION);			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   560
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   561
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   562
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   563
	 * Informs user that parameters are valid and dialog can be
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   564
	 * dismissed with OK button..
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   565
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   566
	private void setCompleteOkMessage() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   567
		setErrorMessage(null);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   568
		setMessage(COMPLETE_MESSAGE, IMessageProvider.INFORMATION);			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   569
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   570
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   571
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   572
	 *  Shows error message in case no categories are selected.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   573
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   574
	private void showErrorMessage() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   575
		setErrorMessage(ERROR_MESSAGE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   576
		setMessage(null);			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   577
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   578
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   579
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   580
	 * Disables OK button.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   581
	 * This method is guarded against call during construction
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   582
	 * when button row has not been created yet and widget is <code>null</code>.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   583
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   584
	private void disableOk() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   585
		if(okActionBtn != null){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   586
			okActionBtn.setEnabled(false);			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   587
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   588
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   589
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   590
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   591
	 * Enables OK button.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   592
	 * This method is guarded against call during construction
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   593
	 * when button row has not been created yet and widget is <code>null</code>.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   594
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   595
	private void enableOk() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   596
		if(okActionBtn != null){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   597
			okActionBtn.setEnabled(true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   598
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   599
	}	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   600
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   601
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   602
	 * Updates buttons statuses according the current selection
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   603
	 * status of table entry viewer contents and refreshes contents.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   604
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   605
	private void notifySelectionChanged() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   606
		Object[] selectedCategoryEntries = getSelectedCategoryEntries();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   607
		if(selectedCategoryEntries.length > 0){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   608
			updateSelectedCategories(selectedCategoryEntries);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   609
			enableOk();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   610
			setCompleteOkMessage();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   611
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   612
		else{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   613
			disableOk();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   614
			showErrorMessage();			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   615
		}		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   616
		categoryViewer.refresh();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   617
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   618
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   619
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   620
	 * Creates checkbox viewer component for showing available SWMT categories. 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   621
	 * @param parent Parent composite for the created composite.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   622
	 * @return New <code>CheckboxTableViewer</code> object instance.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   623
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   624
	protected CheckboxTableViewer createCategoryCheckBoxTableViewer(Composite parent) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   625
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   626
		ArrayList<S60ToolsTableColumnData> columnDataArr = new ArrayList<S60ToolsTableColumnData>();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   627
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   628
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   629
		// NOTE: Column indices must start from zero (0) and
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   630
		// the columns must be added in ascending numeric
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   631
		// order.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   632
		//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   633
		columnDataArr.add(new S60ToolsTableColumnData("Category", //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   634
														350,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   635
														SWMTCategoryEntry.NAME_COLUMN_INDEX,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   636
														SWMTCategoryEntryTableViewerSorter.CRITERIA_NAME));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   637
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   638
		S60ToolsTableColumnData[] arr 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   639
				= columnDataArr.toArray(
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   640
									   new S60ToolsTableColumnData[0]);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   641
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   642
		S60ToolsTable tbl = S60ToolsTableFactory.createCheckboxTable(parent, arr);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   643
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   644
		CheckboxTableViewer tblViewer = new CheckboxTableViewer(tbl.getTableInstance());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   645
		tbl.setHostingViewer(tblViewer);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   646
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   647
		return tblViewer;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   648
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   649
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   650
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   651
	 * Returns currently selected categories.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   652
	 * @return currently selected categories
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   653
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   654
	private Object[] getSelectedCategoryEntries() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   655
		return categoryViewer.getCheckedElements();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   656
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   657
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   658
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   659
	 * Stores currently selected categories combined with bitwise as a single integer.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   660
	 * @param selectedCategoryEntries array of selected category entries
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   661
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   662
	private void updateSelectedCategories(Object[] selectedCategoryEntries) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   663
		// Re-initializing category selection
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   664
		categorySelection = SWMTCategoryConstants.CATEGORY_NONE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   665
		for (int i = 0; i < selectedCategoryEntries.length; i++) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   666
			SWMTCategoryEntry categoryEntry = (SWMTCategoryEntry) selectedCategoryEntries[i];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   667
			categorySelection = categorySelection | categoryEntry.getCategoryId();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   668
		}			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   669
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   670
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   671
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   672
	 * Returns currently selected categories combined with bitwise as a single integer.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   673
	 * @return currently selected categories combined with bitwise as a single integer.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   674
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   675
	public int getSelectedCategories() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   676
		return categorySelection;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   677
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   678
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   679
}