/***************************************************************************** * Copyright (c) 2006, 2008 g-Eclipse Consortium * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Initial development of the original code was made for the * g-Eclipse project founded by European Union * project number: FP6-IST-034327 http://www.geclipse.eu/ * * Contributors: * Christof Klausecker GUP, JKU - initial API and implementation *****************************************************************************/ package eu.geclipse.traceview.nope.preferences; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Group; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import eu.geclipse.traceview.nope.Activator; /** * Preference page for the Nope TraceReader * */ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage implements IWorkbenchPreferencePage { IPreferenceStore store; Button vectorClocks; /** * Creates a new preference page */ public PreferencePage() { super(); this.store = Activator.getDefault().getPreferenceStore(); } @Override protected Control createContents( final Composite parent ) { this.setTitle( Messages.getString("PreferencePage.pageTitle") ); //$NON-NLS-1$ Composite composite = new Composite( parent, SWT.NULL ); GridLayout layout = new GridLayout(); GridData layoutData = new GridData( SWT.FILL, SWT.FILL, true, true ); composite.setLayout( layout ); composite.setLayoutData( layoutData ); createSettingsGroup( composite ); return null; } private void createSettingsGroup( final Composite composite ) { GridLayout layout = new GridLayout(); layout.numColumns = 2; GridData layoutData = new GridData( SWT.FILL, SWT.FILL, true, false ); Group settingsGroup = new Group( composite, SWT.NONE ); settingsGroup.setLayout( layout ); settingsGroup.setLayoutData( layoutData ); settingsGroup.setText( Messages.getString("PreferencePage.readerSettings") ); //$NON-NLS-1$ // CheckBox layoutData = new GridData( SWT.FILL, SWT.FILL, true, false ); layoutData.horizontalSpan = 2; this.vectorClocks = new Button( settingsGroup, SWT.CHECK ); this.vectorClocks.setText( Messages.getString("PreferencePage.calcVectorClocks") ); //$NON-NLS-1$ this.vectorClocks.setSelection( this.store.getBoolean( PreferenceConstants.vectorClocks ) ); this.vectorClocks.setLayoutData( layoutData ); this.vectorClocks.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected( final SelectionEvent event ) { PreferencePage.this.store.setValue( PreferenceConstants.vectorClocks, PreferencePage.this.vectorClocks.getSelection() ); } } ); } public void init( final IWorkbench workbench ) { // TODO Auto-generated method stub } }