📄 kindview.java
字号:
package com.niis.myprice.views;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.dialogs.MessageDialog;
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.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.ViewPart;
import com.niis.myprice.domain.Kind;
import com.niis.myprice.util.message.Messages;
public class KindView extends ViewPart {
private Text descTxt;
private Text nameTxt;
private Text numTxt;
private Kind kind;
private Button okBtn;
private Button cancelBtn;
private Button addBtn;
private Button delBtn;
private Button modifyBtn;
private Action okAction;
private Action cancelAction;
private Action addAction;
private Action modifyAction;
private Action deleteAction;
private int flg;
// insert flg=0 modify flg=1 delete flg=2 view flg=3
private static final int INSERT = 0;
private static final int MODIFY = 1;
private static final int DELETE = 2;
private static final int VIEW = 3;
public static final String ID = "com.niis.myprice.views.KindView"; //$NON-NLS-1$
/**
* Create contents of the view part
*
* @param parent
*/
public void createPartControl(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
final Group kindGroup = new Group(container, SWT.NONE);
kindGroup.setText(Messages.getString("KindView.kindmanager")); //$NON-NLS-1$
kindGroup.setBounds(54, 28, 335, 269);
numTxt = new Text(kindGroup, SWT.BORDER);
numTxt.setBounds(127, 40, 178, 25);
final Label numLab = new Label(kindGroup, SWT.NONE);
numLab.setText(Messages.getString("KindView.kindnum")); //$NON-NLS-1$
numLab.setBounds(24, 43, 85, 22);
final Label nameLab = new Label(kindGroup, SWT.NONE);
nameLab.setText(Messages.getString("KindView.kindname")); //$NON-NLS-1$
nameLab.setBounds(24, 88, 85, 22);
nameTxt = new Text(kindGroup, SWT.BORDER);
nameTxt.setBounds(127, 85, 178, 25);
descTxt = new Text(kindGroup, SWT.BORDER|SWT.WRAP);
descTxt.setBounds(127, 127, 178, 96);
final Label descLab = new Label(kindGroup, SWT.NONE);
descLab.setText(Messages.getString("KindView.kinddesc")); //$NON-NLS-1$
descLab.setBounds(24, 130, 85, 22);
okBtn = new Button(kindGroup, SWT.NONE);
okBtn.setBounds(70, 237, 75, 22);
okBtn.setText(Messages.getString("KindView.ok")); //$NON-NLS-1$
addListener2OkBtn(okBtn);
cancelBtn = new Button(kindGroup, SWT.NONE);
cancelBtn.setText(Messages.getString("KindView.cancel")); //$NON-NLS-1$
cancelBtn.setBounds(200, 237, 75, 22);
addListener2CancelBtn(cancelBtn);
addBtn = new Button(container, SWT.NONE);
addBtn.setText(Messages.getString("KindView.add")); //$NON-NLS-1$
addBtn.setBounds(54, 314, 75, 22);
addListener2AddBtn(addBtn);
delBtn = new Button(container, SWT.NONE);
delBtn.setText(Messages.getString("KindView.delete")); //$NON-NLS-1$
delBtn.setBounds(293, 314, 75, 22);
addListener2DelBtn(delBtn);
modifyBtn = new Button(container, SWT.NONE);
modifyBtn.setText(Messages.getString("KindView.modify")); //$NON-NLS-1$
modifyBtn.setBounds(174, 314, 75, 22);
addListener2ModifyBtn(modifyBtn);
//
createActions();
initializeToolBar();
initializeMenu();
refreshData();
}
public void addListener2OkBtn(Button okBtn) {
okBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
okAction.run();
}
});
}
public void addListener2CancelBtn(Button cancelBtn) {
cancelBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
cancelAction.run();
}
});
}
public void addListener2AddBtn(Button addBtn) {
addBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
addAction.run();
}
});
}
public void addListener2ModifyBtn(Button modifyBtn) {
modifyBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
modifyAction.run();
}
});
}
public void addListener2DelBtn(Button delBtn) {
delBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
deleteAction.run();
}
});
}
/**
* Create the actions
*/
private void createActions() {
makeOkAction();
makeCancelAction();
makeAddAction();
makeModifyAction();
makeDeleteAction();
}
private void makeOkAction() {
okAction = new Action() {
public void run() {
if ("".equals(numTxt.getText()) || "".equals(nameTxt.getText())) { //$NON-NLS-1$ //$NON-NLS-2$
showMessage(Messages.getString("KindView.numandnamecannotbeempty")); //$NON-NLS-1$
return;
} else {
try {
int num = Integer.parseInt(numTxt.getText());
kind.setNum(num);
} catch (NumberFormatException e) {
showMessage(Messages.getString("KindView.nummustbedigital")); //$NON-NLS-1$
return;
}
}
kind.setName(nameTxt.getText());
kind.setDesc(descTxt.getText());
try {
IViewPart view = getSite().getWorkbenchWindow()
.getActivePage().showView(KindTreeView.ID);
if (view instanceof KindTreeView) {
KindTreeView ktv = (KindTreeView) view;
showMessage(Messages.getString("KindView.kindsavesuccess")); //$NON-NLS-1$
ktv.refresh(kind);
refreshData();
}
} catch (PartInitException e) {
MessageDialog.openError(getSite().getShell(), "Error", //$NON-NLS-1$
"Error opening view:" + e.getMessage()); //$NON-NLS-1$
}
}
};
}
private void makeCancelAction() {
cancelAction = new Action() {
public void run() {
if (flg == 0) {
Kind parentKind = kind.getParent();
parentKind.removeChild(kind);
kind = parentKind;
}
refreshData(VIEW);
}
};
}
private void makeAddAction() {
addAction = new Action() {
public void run() {
kind = new Kind(kind);
refreshData(INSERT);
}
};
}
private void makeModifyAction() {
modifyAction = new Action() {
public void run() {
refreshData(MODIFY);
}
};
}
private void makeDeleteAction() {
deleteAction = new Action() {
public void run() {
boolean result = MessageDialog.openConfirm(
getSite().getShell(), Messages.getString("KindView.confirmmessage"), Messages.getString("KindView.deletekindandware")); //$NON-NLS-1$ //$NON-NLS-2$
if(result){
Kind parentKind = kind.getParent();
parentKind.removeChild(kind);
kind = parentKind;
try {
IViewPart view = getSite().getWorkbenchWindow()
.getActivePage().showView(KindTreeView.ID);
if (view instanceof KindTreeView) {
KindTreeView ktv = (KindTreeView) view;
showMessage(Messages.getString("KindView.kinddeletesuccess")); //$NON-NLS-1$
ktv.refresh(kind);
refreshData();
}
} catch (PartInitException e) {
MessageDialog.openError(getSite().getShell(), "Error", //$NON-NLS-1$
"Error opening view:" + e.getMessage()); //$NON-NLS-1$
}
}
}
};
}
/**
* Initialize the toolbar
*/
private void initializeToolBar() {
IToolBarManager toolbarManager = getViewSite().getActionBars()
.getToolBarManager();
}
/**
* Initialize the menu
*/
private void initializeMenu() {
IMenuManager menuManager = getViewSite().getActionBars()
.getMenuManager();
}
public void setFocus() {
KindTreeView.activeViewId=ID;
}
public Kind getKind() {
return kind;
}
public void setKind(Kind kind) {
this.kind = kind;
}
/**
*
* @param kind
* @param flg
* insert flg=0 modify flg=1 delete flg=2 view flg=3
*/
public void refreshData(Kind kind, int flg) {
this.flg = flg;
if (kind != null) {
this.kind = kind;
this.numTxt.setText(kind.getDisplayNum());
this.nameTxt.setText(kind.getDisplayName());
this.descTxt.setText(kind.getDisplayDesc());
}
switch (flg) {
case INSERT:
numTxt.setEditable(true);
nameTxt.setEditable(true);
descTxt.setEditable(true);
addBtn.setEnabled(false);
modifyBtn.setEnabled(false);
delBtn.setEnabled(false);
okBtn.setEnabled(true);
cancelBtn.setEnabled(true);
break;
case MODIFY:
numTxt.setEditable(false);
nameTxt.setEditable(true);
descTxt.setEditable(true);
addBtn.setEnabled(true);
modifyBtn.setEnabled(false);
delBtn.setEnabled(true);
okBtn.setEnabled(true);
cancelBtn.setEnabled(true);
break;
case DELETE:
numTxt.setEditable(false);
nameTxt.setEditable(false);
descTxt.setEditable(false);
addBtn.setEnabled(false);
modifyBtn.setEnabled(false);
delBtn.setEnabled(true);
okBtn.setEnabled(false);
cancelBtn.setEnabled(false);
break;
case VIEW:
default:
numTxt.setEditable(false);
nameTxt.setEditable(false);
descTxt.setEditable(false);
addBtn.setEnabled(true);
modifyBtn.setEnabled(true);
delBtn.setEnabled(true);
okBtn.setEnabled(false);
cancelBtn.setEnabled(false);
}
}
public void refreshData(Kind kind) {
refreshData(kind, VIEW);
}
public void refreshData(int flg) {
refreshData(kind, flg);
}
public void refreshData() {
refreshData(VIEW);
}
public void showMessage(String message) {
MessageDialog.openInformation(getSite().getShell(), Messages.getString("KindView.prompt"), message); //$NON-NLS-1$
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -