/******************************************************************************* * Copyright (c) 2004, 2010 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.wst.css.ui.internal.edit.ui; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; 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.swt.widgets.Shell; import org.eclipse.ui.PlatformUI; import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy; import org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategyImpl; import org.eclipse.wst.css.ui.internal.CSSUIMessages; import org.eclipse.wst.css.ui.internal.editor.IHelpContextIds; public class CleanupDialogCSS extends Dialog implements SelectionListener{ private boolean embeddedCSS; protected Button fRadioButtonIdentCaseAsis; protected Button fRadioButtonIdentCaseLower; protected Button fRadioButtonIdentCaseUpper; protected Button fRadioButtonPropNameCaseAsis; protected Button fRadioButtonPropNameCaseLower; protected Button fRadioButtonPropNameCaseUpper; protected Button fRadioButtonPropValueCaseAsis; protected Button fRadioButtonPropValueCaseLower; protected Button fRadioButtonPropValueCaseUpper; protected Button fRadioButtonSelectorTagCaseAsis; protected Button fRadioButtonSelectorTagCaseLower; protected Button fRadioButtonSelectorTagCaseUpper; protected Button fRadioButtonSelectorIdCaseAsis; protected Button fRadioButtonSelectorIdCaseLower; protected Button fRadioButtonSelectorIdCaseUpper; protected Button fRadioButtonSelectorClassCaseAsis; protected Button fRadioButtonSelectorClassCaseLower; protected Button fRadioButtonSelectorClassCaseUpper; protected Button fCheckBoxQuoteValues; protected Button fCheckBoxFormatSource; /** * CSSCleanupDialog constructor comment. * * @param parentShell * org.eclipse.swt.widgets.Shell */ public CleanupDialogCSS(Shell parentShell) { super(parentShell); } /** * * @return org.eclipse.swt.widgets.Control * @param parent * org.eclipse.swt.widgets.Composite */ public Control createDialogArea(Composite parent) { if (isEmbeddedCSS()) getShell().setText(CSSUIMessages.CSS_Cleanup_UI_); else getShell().setText(CSSUIMessages.Cleanup_UI_); Composite panel = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 1; layout.makeColumnsEqualWidth = true; panel.setLayout(layout); PlatformUI.getWorkbench().getHelpSystem().setHelp(panel, IHelpContextIds.CSS_CLEANUP_HELPID); // Convert ident case // ACC: Group radio buttons together so associated label is read // Label identCaseLabel = new Label(panel, SWT.NULL); // identCaseLabel.setText(ResourceHandler.getString("Identifier_case__UI_")); // //$NON-NLS-1$ = "Identifier case:" // Canvas identCase = new Canvas(panel, SWT.NULL); Group identCase = new Group(panel, SWT.NULL); identCase.setText(CSSUIMessages.Identifier_case__UI_); GridLayout hLayout = new GridLayout(); hLayout.numColumns = 3; identCase.setLayout(hLayout); fRadioButtonIdentCaseAsis = new Button(identCase, SWT.RADIO); fRadioButtonIdentCaseAsis.setText(CSSUIMessages.As_is_UI_); fRadioButtonIdentCaseAsis.addSelectionListener(this); fRadioButtonIdentCaseLower = new Button(identCase, SWT.RADIO); fRadioButtonIdentCaseLower.setText(CSSUIMessages.Lower_UI_); fRadioButtonIdentCaseLower.addSelectionListener(this); fRadioButtonIdentCaseUpper = new Button(identCase, SWT.RADIO); fRadioButtonIdentCaseUpper.setText(CSSUIMessages.Upper_UI_); fRadioButtonIdentCaseUpper.addSelectionListener(this); // Convert property name case // ACC: Group radio buttons together so associated label is read // Label propNameCaseLabel = new Label(panel, SWT.NULL); // propNameCaseLabel.setText(ResourceHandler.getString("Property_name_case__UI_")); // //$NON-NLS-1$ = "Property name case:" // Canvas propNameCase = new Canvas(panel, SWT.NULL); Group propNameCase = new Group(panel, SWT.NULL); propNameCase.setText(CSSUIMessages.Property_name_case__UI_); hLayout = new GridLayout(); hLayout.numColumns = 3; propNameCase.setLayout(hLayout); fRadioButtonPropNameCaseAsis = new Button(propNameCase, SWT.RADIO); fRadioButtonPropNameCaseAsis.setText(CSSUIMessages.As_is_UI_); fRadioButtonPropNameCaseAsis.addSelectionListener(this); fRadioButtonPropNameCaseLower = new Button(propNameCase, SWT.RADIO); fRadioButtonPropNameCaseLower.setText(CSSUIMessages.Lower_UI_); fRadioButtonPropNameCaseLower.addSelectionListener(this); fRadioButtonPropNameCaseUpper = new Button(propNameCase, SWT.RADIO); fRadioButtonPropNameCaseUpper.setText(CSSUIMessages.Upper_UI_); fRadioButtonPropNameCaseUpper.addSelectionListener(this); // Convert property Value case // ACC: Group radio buttons together so associated label is read // Label propValueCaseLabel = new Label(panel, SWT.NULL); // propValueCaseLabel.setText(ResourceHandler.getString("Property_value_case__UI_")); // //$NON-NLS-1$ = "Property value case:" // Canvas propValueCase = new Canvas(panel, SWT.NULL); Group propValueCase = new Group(panel, SWT.NULL); propValueCase.setText(CSSUIMessages.Property_value_case__UI_); hLayout = new GridLayout(); hLayout.numColumns = 3; propValueCase.setLayout(hLayout); fRadioButtonPropValueCaseAsis = new Button(propValueCase, SWT.RADIO); fRadioButtonPropValueCaseAsis.setText(CSSUIMessages.As_is_UI_); fRadioButtonPropValueCaseAsis.addSelectionListener(this); fRadioButtonPropValueCaseLower = new Button(propValueCase, SWT.RADIO); fRadioButtonPropValueCaseLower.setText(CSSUIMessages.Lower_UI_); fRadioButtonPropValueCaseLower.addSelectionListener(this); fRadioButtonPropValueCaseUpper = new Button(propValueCase, SWT.RADIO); fRadioButtonPropValueCaseUpper.setText(CSSUIMessages.Upper_UI_); fRadioButtonPropValueCaseUpper.addSelectionListener(this); if (!isEmbeddedCSS()) { // Convert selector tag case // ACC: Group radio buttons together so associated label is read // Label selectorTagCaseLabel = new Label(panel, SWT.NULL); // selectorTagCaseLabel.setText(ResourceHandler.getString("Selector_tag_name_case__UI_")); // //$NON-NLS-1$ = "Selector tag name case:" // Canvas selectorTagCase = new Canvas(panel, SWT.NULL); Group selectorTagCase = new Group(panel, SWT.NULL); selectorTagCase.setText(CSSUIMessages.Selector_tag_name_case__UI_); hLayout = new GridLayout(); hLayout.numColumns = 3; selectorTagCase.setLayout(hLayout); fRadioButtonSelectorTagCaseAsis = new Button(selectorTagCase, SWT.RADIO); fRadioButtonSelectorTagCaseAsis.setText(CSSUIMessages.As_is_UI_); fRadioButtonSelectorTagCaseAsis.addSelectionListener(this); fRadioButtonSelectorTagCaseLower = new Button(selectorTagCase, SWT.RADIO); fRadioButtonSelectorTagCaseLower.setText(CSSUIMessages.Lower_UI_); fRadioButtonSelectorTagCaseLower.addSelectionListener(this); fRadioButtonSelectorTagCaseUpper = new Button(selectorTagCase, SWT.RADIO); fRadioButtonSelectorTagCaseUpper.setText(CSSUIMessages.Upper_UI_); fRadioButtonSelectorTagCaseUpper.addSelectionListener(this); Group selectorIdCase = new Group(panel, SWT.NULL); selectorIdCase.setText(CSSUIMessages.ID_Selector_Case__UI_); hLayout = new GridLayout(); hLayout.numColumns = 3; selectorIdCase.setLayout(hLayout); fRadioButtonSelectorIdCaseAsis = new Button(selectorIdCase, SWT.RADIO); fRadioButtonSelectorIdCaseAsis.setText(CSSUIMessages.As_is_UI_); fRadioButtonSelectorIdCaseAsis.addSelectionListener(this); fRadioButtonSelectorIdCaseLower = new Button(selectorIdCase, SWT.RADIO); fRadioButtonSelectorIdCaseLower.setText(CSSUIMessages.Lower_UI_); fRadioButtonSelectorIdCaseLower.addSelectionListener(this); fRadioButtonSelectorIdCaseUpper = new Button(selectorIdCase, SWT.RADIO); fRadioButtonSelectorIdCaseUpper.setText(CSSUIMessages.Upper_UI_); fRadioButtonSelectorIdCaseUpper.addSelectionListener(this); Group selectorClassCase = new Group(panel, SWT.NULL); selectorClassCase.setText(CSSUIMessages.Class_Selector_Case__UI_); hLayout = new GridLayout(); hLayout.numColumns = 3; selectorClassCase.setLayout(hLayout); fRadioButtonSelectorClassCaseAsis = new Button(selectorClassCase, SWT.RADIO); fRadioButtonSelectorClassCaseAsis.setText(CSSUIMessages.As_is_UI_); fRadioButtonSelectorClassCaseAsis.addSelectionListener(this); fRadioButtonSelectorClassCaseLower = new Button(selectorClassCase, SWT.RADIO); fRadioButtonSelectorClassCaseLower.setText(CSSUIMessages.Lower_UI_); fRadioButtonSelectorClassCaseLower.addSelectionListener(this); fRadioButtonSelectorClassCaseUpper = new Button(selectorClassCase, SWT.RADIO); fRadioButtonSelectorClassCaseUpper.setText(CSSUIMessages.Upper_UI_); fRadioButtonSelectorClassCaseUpper.addSelectionListener(this); } // Quote attribute values fCheckBoxQuoteValues = new Button(panel, SWT.CHECK); fCheckBoxQuoteValues.setText(CSSUIMessages.Quote_values_UI_); fCheckBoxQuoteValues.addSelectionListener(this); if (!isEmbeddedCSS()) { // Format source fCheckBoxFormatSource = new Button(panel, SWT.CHECK); fCheckBoxFormatSource.setText(CSSUIMessages.Format_source_UI_); fCheckBoxFormatSource.addSelectionListener(this); } setCleanupOptions(); return panel; } /** * Insert the method's description here. * * @return boolean */ public boolean isEmbeddedCSS() { return embeddedCSS; } /** * */ protected void okPressed() { updateCleanupOptions(); super.okPressed(); } /** * */ protected void setCleanupOptions() { CSSCleanupStrategy stgy = CSSCleanupStrategyImpl.getInstance(); if (fRadioButtonIdentCaseAsis != null) { if (stgy.getIdentCase() == CSSCleanupStrategy.UPPER) fRadioButtonIdentCaseUpper.setSelection(true); else if (stgy.getIdentCase() == CSSCleanupStrategy.LOWER) fRadioButtonIdentCaseLower.setSelection(true); else fRadioButtonIdentCaseAsis.setSelection(true); } if (fRadioButtonPropNameCaseAsis != null) { if (stgy.getPropNameCase() == CSSCleanupStrategy.UPPER) fRadioButtonPropNameCaseUpper.setSelection(true); else if (stgy.getPropNameCase() == CSSCleanupStrategy.LOWER) fRadioButtonPropNameCaseLower.setSelection(true); else fRadioButtonPropNameCaseAsis.setSelection(true); } if (fRadioButtonPropValueCaseAsis != null) { if (stgy.getPropValueCase() == CSSCleanupStrategy.UPPER) fRadioButtonPropValueCaseUpper.setSelection(true); else if (stgy.getPropValueCase() == CSSCleanupStrategy.LOWER) fRadioButtonPropValueCaseLower.setSelection(true); else fRadioButtonPropValueCaseAsis.setSelection(true); } if (fRadioButtonSelectorTagCaseAsis != null) { if (stgy.getSelectorTagCase() == CSSCleanupStrategy.UPPER) fRadioButtonSelectorTagCaseUpper.setSelection(true); else if (stgy.getSelectorTagCase() == CSSCleanupStrategy.LOWER) fRadioButtonSelectorTagCaseLower.setSelection(true); else fRadioButtonSelectorTagCaseAsis.setSelection(true); } if (fRadioButtonSelectorIdCaseAsis != null) { if (stgy.getIdSelectorCase() == CSSCleanupStrategy.UPPER) fRadioButtonSelectorIdCaseUpper.setSelection(true); else if (stgy.getIdSelectorCase() == CSSCleanupStrategy.LOWER) fRadioButtonSelectorIdCaseLower.setSelection(true); else fRadioButtonSelectorIdCaseAsis.setSelection(true); } if (fRadioButtonSelectorClassCaseAsis != null) { if (stgy.getClassSelectorCase() == CSSCleanupStrategy.UPPER) fRadioButtonSelectorClassCaseUpper.setSelection(true); else if (stgy.getClassSelectorCase() == CSSCleanupStrategy.LOWER) fRadioButtonSelectorClassCaseLower.setSelection(true); else fRadioButtonSelectorClassCaseAsis.setSelection(true); } if (fCheckBoxQuoteValues != null) fCheckBoxQuoteValues.setSelection(stgy.isQuoteValues()); if (fCheckBoxFormatSource != null) fCheckBoxFormatSource.setSelection(stgy.isFormatSource()); } /** * Insert the method's description here. * * @param newEmbeddedCSS * boolean */ public void setEmbeddedCSS(boolean newEmbeddedCSS) { embeddedCSS = newEmbeddedCSS; } /** * */ protected void updateCleanupOptions() { CSSCleanupStrategy stgy = CSSCleanupStrategyImpl.getInstance(); if (fRadioButtonIdentCaseAsis != null) { if (fRadioButtonIdentCaseUpper.getSelection()) stgy.setIdentCase(CSSCleanupStrategy.UPPER); else if (fRadioButtonIdentCaseLower.getSelection()) stgy.setIdentCase(CSSCleanupStrategy.LOWER); else stgy.setIdentCase(CSSCleanupStrategy.ASIS); } if (fRadioButtonPropNameCaseAsis != null) { if (fRadioButtonPropNameCaseUpper.getSelection()) stgy.setPropNameCase(CSSCleanupStrategy.UPPER); else if (fRadioButtonPropNameCaseLower.getSelection()) stgy.setPropNameCase(CSSCleanupStrategy.LOWER); else stgy.setPropNameCase(CSSCleanupStrategy.ASIS); } if (fRadioButtonPropValueCaseAsis != null) { if (fRadioButtonPropValueCaseUpper.getSelection()) stgy.setPropValueCase(CSSCleanupStrategy.UPPER); else if (fRadioButtonPropValueCaseLower.getSelection()) stgy.setPropValueCase(CSSCleanupStrategy.LOWER); else stgy.setPropValueCase(CSSCleanupStrategy.ASIS); } if (fRadioButtonSelectorTagCaseAsis != null) { if (fRadioButtonSelectorTagCaseUpper.getSelection()) stgy.setSelectorTagCase(CSSCleanupStrategy.UPPER); else if (fRadioButtonSelectorTagCaseLower.getSelection()) stgy.setSelectorTagCase(CSSCleanupStrategy.LOWER); else stgy.setSelectorTagCase(CSSCleanupStrategy.ASIS); } if (fRadioButtonSelectorIdCaseAsis != null) { if (fRadioButtonSelectorIdCaseUpper.getSelection()) stgy.setIdSelectorCase(CSSCleanupStrategy.UPPER); else if (fRadioButtonSelectorIdCaseLower.getSelection()) stgy.setIdSelectorCase(CSSCleanupStrategy.LOWER); else stgy.setIdSelectorCase(CSSCleanupStrategy.ASIS); } if (fRadioButtonSelectorClassCaseAsis != null) { if (fRadioButtonSelectorClassCaseUpper.getSelection()) stgy.setClassSelectorCase(CSSCleanupStrategy.UPPER); else if (fRadioButtonSelectorClassCaseLower.getSelection()) stgy.setClassSelectorCase(CSSCleanupStrategy.LOWER); else stgy.setClassSelectorCase(CSSCleanupStrategy.ASIS); } if (fCheckBoxQuoteValues != null) stgy.setQuoteValues(fCheckBoxQuoteValues.getSelection()); if (fCheckBoxFormatSource != null) stgy.setFormatSource(fCheckBoxFormatSource.getSelection()); // save these values to preferences ((CSSCleanupStrategyImpl) stgy).saveOptions(); } public void widgetSelected(SelectionEvent e) { boolean okEnabled = fCheckBoxFormatSource.getSelection() || fCheckBoxQuoteValues.getSelection() || ((fRadioButtonIdentCaseLower != null && fRadioButtonIdentCaseLower.getSelection()) || (fRadioButtonIdentCaseUpper != null && fRadioButtonIdentCaseUpper.getSelection())) || ((fRadioButtonPropNameCaseLower != null && fRadioButtonPropNameCaseLower.getSelection()) || (fRadioButtonPropNameCaseUpper != null && fRadioButtonPropNameCaseUpper.getSelection())) || ((fRadioButtonPropValueCaseLower != null && fRadioButtonPropValueCaseLower.getSelection()) || (fRadioButtonPropValueCaseUpper != null && fRadioButtonPropValueCaseUpper.getSelection())) || ((fRadioButtonSelectorTagCaseLower != null && fRadioButtonSelectorTagCaseLower.getSelection()) || (fRadioButtonSelectorTagCaseUpper != null && fRadioButtonSelectorTagCaseUpper.getSelection())) || ((fRadioButtonSelectorIdCaseLower != null && fRadioButtonSelectorIdCaseLower.getSelection()) || (fRadioButtonSelectorIdCaseUpper != null && fRadioButtonSelectorIdCaseUpper.getSelection())) || ((fRadioButtonSelectorClassCaseLower != null && fRadioButtonSelectorClassCaseLower.getSelection()) || (fRadioButtonSelectorClassCaseUpper != null && fRadioButtonSelectorClassCaseUpper.getSelection())) ; getButton(OK).setEnabled(okEnabled); } public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }