/******************************************************************************* * Copyright (c) Gil Barash - chookapp@yahoo.com * 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 * * Contributors: * Gil Barash - initial API and implementation *******************************************************************************/ package com.chookapp.org.bracketeer.preferences; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.Platform; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.PlatformUI; import org.eclipse.wb.swt.FieldLayoutPreferencePage; import com.chookapp.org.bracketeer.Activator; import com.chookapp.org.bracketeer.core.ProcessorsRegistry; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.layout.GridLayout; public class MainPrefPage extends FieldLayoutPreferencePage implements IWorkbenchPreferencePage { public MainPrefPage() { setPreferenceStore(Activator.getDefault().getPreferenceStore()); } @Override public void init(IWorkbench workbench) { } @Override protected Control createPageContents(Composite parent) { Composite container = new Composite(parent, SWT.NULL); container.setLayout(new GridLayout(1, false)); IConfigurationElement[] config = Platform.getExtensionRegistry() .getConfigurationElementsFor(ProcessorsRegistry.PROC_FACTORY_ID); if( config.length == 0 ) { Text txtNoBracketeerEditor = new Text(container, SWT.BORDER | SWT.READ_ONLY | SWT.WRAP | SWT.MULTI); txtNoBracketeerEditor.setText(Messages.MainPrefPage_txtNoBracketeerEditor_text); return container; } Composite composite = new Composite(container, SWT.NONE); ModifiersKeySequenceText mks = new ModifiersKeySequenceText(PreferencesConstants.General.HYPERLINK_MODIFIERS, Messages.MainPrefPage_HyperlinkModifier, composite); addField(mks); PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), "com.choockapp.org.bracketeer.main_pref"); //$NON-NLS-1$ return container; } }