/******************************************************************************* * Copyright (c) 2003, 2005 IBM Corporation and others. * 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: * QNX Software Systems - Initial API and implementation *******************************************************************************/ package org.eclipse.cdt.ui.dialogs; import org.eclipse.cdt.internal.ui.util.SWTUtil; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.dialogs.DialogPage; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; public abstract class AbstractCOptionPage extends DialogPage implements ICOptionPage { private boolean bIsValid = true; private ICOptionContainer fContainer; protected Button createPushButton(Composite parent, String label, Image image) { Button button = new Button(parent, SWT.PUSH); button.setFont(parent.getFont()); if (image != null) { button.setImage(image); } if (label != null) { button.setText(label); } GridData gd = new GridData(); button.setLayoutData(gd); SWTUtil.setButtonDimensionHint(button); return button; } protected Button createRadioButton(Composite parent, String label) { Button button = new Button(parent, SWT.RADIO); button.setFont(parent.getFont()); if (label != null) { button.setText(label); } GridData gd = new GridData(); button.setLayoutData(gd); SWTUtil.setButtonDimensionHint(button); return button; } protected AbstractCOptionPage() { super(); } protected AbstractCOptionPage(String title) { super(title); } protected AbstractCOptionPage(String title, ImageDescriptor image) { super(title, image); } public void setContainer(ICOptionContainer container) { fContainer = container; } protected ICOptionContainer getContainer() { return fContainer; } protected void setValid(boolean isValid) { bIsValid = isValid; } public boolean isValid() { return bIsValid; } public abstract void performApply(IProgressMonitor monitor) throws CoreException; public abstract void performDefaults(); public abstract void createControl(Composite parent); }