/** * <p>Copyright: Copyright (c) 2009</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.ui.editor; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.widgets.Button; import org.eclipse.ui.forms.widgets.FormToolkit; import com.hundsun.ares.studio.ui.util.ImporveControlWithDitryStateContext; /** * ����ֵ�༭�� * @author sundl */ public class BooleanExtensionFieldEditor extends SingleExtensionFieldEditor { private Button checkButton; /* (non-Javadoc) * @see com.hundsun.ares.studio.ui.editor.ExtensionFieldEditor#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.ui.forms.widgets.FormToolkit) */ @Override public void createControls(FormToolkit toolkit, final ImporveControlWithDitryStateContext context) { checkButton = toolkit.createButton(context.getParent(), getName(), SWT.CHECK); GridDataFactory.fillDefaults().span(2, 1).applyTo(checkButton); checkButton.addSelectionListener(new SelectionAdapter() { /* (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(SelectionEvent e) { properties.setValue(getId(), checkButton.getSelection()); context.getDirtyStatus().setValue(true); } }); if (properties.getBoolean(getId(), false)) { checkButton.setSelection(true); } else { checkButton.setSelection(false); } } /* (non-Javadoc) * @see com.hundsun.ares.studio.ui.editor.ExtensionFieldEditor#refresh() */ @Override public void refresh() { if (properties.getBoolean(getId(), false)) { checkButton.setSelection(true); } else { checkButton.setSelection(false); } } /* (non-Javadoc) * @see com.hundsun.ares.studio.ui.control.IEditable#setEditable(boolean) */ public void setEditable(boolean editable) { checkButton.setEnabled(editable); } }