/*******************************************************************************
* Copyright (c) 2007, 2008 Edgar Espina.
* 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
*
*******************************************************************************/
package org.deved.antlride.formatter.preferences;
import org.deved.antlride.core.formatter.AntlrFormatterPreference;
import org.eclipse.dltk.ui.formatter.IFormatterControlManager;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
public class AntlrFormatterControlManager implements IFormatterControlManager {
private IFormatterControlManager manager;
public AntlrFormatterControlManager(IFormatterControlManager manager) {
this.manager = manager;
}
public void addInitializeListener(IInitializeListener listener) {
manager.addInitializeListener(listener);
}
private Button layout(Button button) {
return button;
}
public Button createCheckbox(Composite parent, Object key, String text) {
return layout(manager.createCheckbox(parent,
((AntlrFormatterPreference) key).getName(), text));
}
public Button createCheckbox(Composite parent, Object key, String text,
int hspan) {
return layout(manager.createCheckbox(parent,
((AntlrFormatterPreference) key).getName(), text, hspan));
}
@Deprecated
public Combo createCombo(Composite parent, Object key, String label,
String[] items) {
return manager.createCombo(parent, ((AntlrFormatterPreference) key)
.getName(), label, items);
}
public Combo createCombo(Composite parent, Object key, String label,
String[] itemValues, String[] itemLabels) {
return layout(manager.createCombo(parent,
((AntlrFormatterPreference) key).getName(), label, itemValues,
itemLabels));
}
private Combo layout(Combo combo) {
GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
gd.widthHint = 120;
gd.grabExcessHorizontalSpace = true;
combo.setLayoutData(gd);
return combo;
}
public Text createNumber(Composite parent, Object key, String label) {
return layout(manager.createNumber(parent,
((AntlrFormatterPreference) key).getName(), label));
}
private Text layout(Text text) {
GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
gd.widthHint = 25;
gd.grabExcessHorizontalSpace = true;
text.setLayoutData(gd);
return text;
}
public void enableControl(Control control, boolean enabled) {
manager.enableControl(control, enabled);
}
public void removeInitializeListener(IInitializeListener listener) {
manager.removeInitializeListener(listener);
}
public boolean getBoolean(Object key) {
return manager.getBoolean(key);
}
public String getString(Object key) {
return manager.getString(key);
}
public void setBoolean(Object key, boolean value) {
manager.setBoolean(key, value);
}
public void setString(Object key, String value) {
manager.setString(key, value);
}
}