📄 comboboxcelleditorex.java
字号:
/*******************************************************************************
* $Header: /cvsroot/EOS6/work_dir/niegy/com.primeton.studio.gef.ui/src/com/primeton/studio/gef/ui/properties/ComboBoxCellEditorEx.java,v 1.1 2006/11/17 03:15:13 niegy Exp $
* $Revision: 1.1 $
* $Date: 2006/11/17 03:15:13 $
*
*==============================================================================
*
* Copyright (c) 2001-2006 Primeton Technologies, Ltd.
* All rights reserved.
*
* Created on 2006-10-30
*******************************************************************************/
package com.primeton.studio.gef.ui.properties;
import java.text.MessageFormat;
import org.eclipse.jface.viewers.ComboBoxCellEditor;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
/**
* TODO此处填写 class 信息
*
* @author niegy (mailto:niegy@primeton.com)
*/
/*
* 修改历史
* $Log: ComboBoxCellEditorEx.java,v $
* Revision 1.1 2006/11/17 03:15:13 niegy
* create
*
*/
public class ComboBoxCellEditorEx extends ComboBoxCellEditor {
/**
* The list of items to present in the combo box.
*/
private String[] items;
CCombo control;
public ComboBoxCellEditorEx(Composite parent, String[] items, int style) {
super(parent,items, style);
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.CellEditor#createControl(org.eclipse.swt.widgets.Composite)
*/
protected Control createControl(Composite parent) {
control = (CCombo)super.createControl(parent);
control.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent event) {
applyAndDeactivate();
}
});
return control;
}
protected void focusLost() {
super.focusLost();
}
void applyAndDeactivate() {
// must set the selection before getting value
int selection = control.getSelectionIndex();
Object newValue = doGetValue();
markDirty();
boolean isValid = isCorrect(newValue);
setValueValid(isValid);
if (!isValid) {
// try to insert the current value into the error message.
setErrorMessage(
MessageFormat.format(getErrorMessage(), new Object[] {items[selection]}));
}
fireApplyEditorValue();
deactivate();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -