sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi.button/src/com/nokia/carbide/cpp/internal/pi/button/ui/ButtonPreferencePage.java
changeset 2 b9ab3b238396
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi.button/src/com/nokia/carbide/cpp/internal/pi/button/ui/ButtonPreferencePage.java	Thu Feb 11 15:32:31 2010 +0200
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *
+ */
+
+package com.nokia.carbide.cpp.internal.pi.button.ui;
+
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class ButtonPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
+	private static int BUTTON_TAB_INDEX = 0;
+	
+	
+	private Composite content = null;
+	private TabFolder buttonTabFolder = null;
+	TabItem buttonTab = null;
+	ButtonTabPage buttonTabPage = null;
+	
+	@Override
+	protected Control createContents(Composite parent) {
+		GridLayoutFactory layoutExpandBoth = GridLayoutFactory.fillDefaults();
+		GridDataFactory gridDataExpandBoth = GridDataFactory.fillDefaults().grab(true, true);
+		
+		content = new Composite(parent, SWT.NONE);
+		layoutExpandBoth.applyTo(content);
+		gridDataExpandBoth.applyTo(content);
+		
+		buttonTabFolder = new TabFolder(content, SWT.TOP);
+		layoutExpandBoth.applyTo(buttonTabFolder);
+		gridDataExpandBoth.applyTo(buttonTabFolder);
+		
+		buttonTabPage = new ButtonTabPage(buttonTabFolder);
+		buttonTab = new TabItem(buttonTabFolder, SWT.NONE, BUTTON_TAB_INDEX);
+		buttonTab.setText(Messages.getString("ButtonPreferencePage.0")); //$NON-NLS-1$
+		buttonTab.setToolTipText(Messages.getString("ButtonPreferencePage.1")); //$NON-NLS-1$
+		buttonTab.setControl(buttonTabPage);
+		
+		getPageStoredValues();
+		return content;
+	}
+
+	/**
+	 * 
+	 */
+	private void getPageStoredValues() {
+		buttonTabPage.getStoredPreferenceValues();
+	}
+	
+	/**
+	 * 
+	 */
+	private boolean setPageStoredValues() {
+		if (buttonTabPage.setStoredPreferenceValues() == false) {
+			return false;
+		}
+		return true;
+	}
+	
+	/**
+	 * Things to do when user hit the "OK" button.
+	 */
+	public boolean performOk() {
+		setPageStoredValues();
+		cleanUp();
+		return super.performOk();
+	}
+
+	/**
+	 * 
+	 */
+	private void cleanUp() {
+		Runtime.getRuntime().gc();
+	}
+
+	/**
+	 * Things to do when user hit the "Apply" button.
+	 */
+	public void performApply() {
+		setPageStoredValues();
+		cleanUp();
+		super.performApply();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+	 */
+	public void init(IWorkbench arg0) {
+	}
+
+
+}