📄 wareview.java
字号:
saveAction = new Action() {
public void run() {
showMessage("save Action"); //$NON-NLS-1$
}
};
saveAction.setText("save action"); //$NON-NLS-1$
saveAction.setToolTipText("save action tooltip"); //$NON-NLS-1$
saveAction.setImageDescriptor(PlatformUI.getWorkbench()
.getSharedImages().getImageDescriptor(
ISharedImages.IMG_OBJS_INFO_TSK));
}
private void makeCancelAction() {
cancelAction = new Action() {
public void run() {
showMessage("cancel Action"); //$NON-NLS-1$
}
};
cancelAction.setText("cancel action"); //$NON-NLS-1$
cancelAction.setToolTipText("cancel action tooltip"); //$NON-NLS-1$
cancelAction.setImageDescriptor(PlatformUI.getWorkbench()
.getSharedImages().getImageDescriptor(
ISharedImages.IMG_OBJS_INFO_TSK));
}
private void makeDoubleClickAction() {
doubleClickAction = new Action() {
public void run() {
WareInputDialog wareInputDialog = new WareInputDialog(
getShell(), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL,
viewer, ICommandIds.MODIFY);
wareInputDialog.setText(Messages.getString("WareView.waremanager")); //$NON-NLS-1$
wareInputDialog.open();
}
};
}
/* add listener to button */
private void addListener2AddBtn(Button addBtn) {
addBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
addAction.run();
}
});
}
private void addListener2ModifyBtn(Button modifyBtn) {
modifyBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
modifyAction.run();
}
});
}
private void addListener2DelBtn(Button delBtn) {
delBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
deleteAction.run();
}
});
}
private void addListener2RefreshBtn(Button refreshBtn) {
refreshBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
refreshAction.run();
}
});
}
private void addListener2SaveBtn(Button saveBtn) {
saveBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
saveAction.run();
}
});
}
private void addListener2CancelBtn(Button cancelBtn) {
cancelBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
cancelAction.run();
}
});
}
/* hook event */
private void hookContextMenu() {
MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
WareView.this.fillContextMenu(manager);
}
});
Menu menu = menuMgr.createContextMenu(viewer.getControl());
viewer.getControl().setMenu(menu);
getSite().registerContextMenu(menuMgr, viewer);
}
private void hookDoubleClickAction() {
viewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
doubleClickAction.run();
}
});
}
/* add action to context menu */
private void fillContextMenu(IMenuManager manager) {
manager.add(addAction);
manager.add(modifyAction);
manager.add(deleteAction);
manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}
/* general util method */
private void showMessage(String message) {
MessageDialog.openInformation(shell, "Ware View", message); //$NON-NLS-1$
}
public TableViewer getViewer() {
return viewer;
}
public void setViewer(TableViewer viewer) {
this.viewer = viewer;
}
/* get ware list from tree node */
private void makeWareList(Node node, List list) {
if (node instanceof Kind) {
ArrayList nodes = ((Kind) node).getChildren();
if (nodes != null) {
for (int i = 0; i < nodes.size(); i++) {
makeWareList((Node)nodes.get(i), list);
}
}
list.addAll(((Kind) node).getWareChildren());
}
if (node instanceof Ware) {
list.add(node);
}
}
/* general getter and setter */
public Shell getShell() {
return viewer.getControl().getShell();
}
public void setShell(Shell shell) {
this.shell = shell;
}
public void resetSort(int colIndex){
ViewerSorter sorter = viewer.getSorter();
if(sorter instanceof WareViewerSort){
WareViewerSort wareSorter = (WareViewerSort)sorter;
if(wareSorter.getColIndex() == colIndex){
wareSorter.setSort(!wareSorter.getSort());
}else{
wareSorter.setColIndex(colIndex);
wareSorter.setSort(true);
}
viewer.refresh();
}
}
/* the content Provider class of ware view */
class WareContentProvider implements IStructuredContentProvider {
public Object[] getElements(Object inputElement) {
if (inputElement instanceof Node) {
ArrayList list = new ArrayList();
makeWareList(((Node) inputElement), list);
return list.toArray();
}
if (inputElement instanceof List) {
return ((List) inputElement).toArray();
}
return null;
}
public void dispose() {
// TODO Auto-generated method stub
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
// TODO Auto-generated method stub
}
}
/* the label Provider class of ware view */
class WareLabelProvider extends LabelProvider implements
ITableLabelProvider {
public Image getColumnImage(Object element, int columnIndex) {
// TODO Auto-generated method stub
return null;
}
public String getColumnText(Object element, int columnIndex) {
if (element instanceof Ware) {
switch (columnIndex) {
case 0:
return ((Ware) element).getDisplayNum();
case 1:
return ((Ware) element).getDisplayName();
case 2:
return ((Ware) element).getDisplayDesc();
case 3:
return ((Ware) element).getDisplayPrice();
case 4:
return ((Ware) element).getDisplayUpdDate();
default:
break;
}
}
return null;
}
}
class WareViewerSort extends ViewerSorter{
public static final int NUM = 0;
public static final int NAME = 1;
public static final int DESC = 2;
public static final int PRICE = 3;
public static final int UPDDATE = 4;
//true = up ,false = down
private boolean sort = true ;
private int colIndex = 0;
public WareViewerSort(){
}
public int compare(Viewer viewer, Object e1, Object e2) {
int result = 0;
if((e1 instanceof Ware) && (e2 instanceof Ware)){
Ware ware1 = (Ware)e1;
Ware ware2 = (Ware)e2;
switch(colIndex){
case NUM:
result = myCompare(viewer,ware1.getNum(),ware2.getNum());
break;
case NAME:
result = myCompare(viewer, ware1.getName(), ware2.getName());
break;
case DESC:
result = myCompare(viewer, ware1.getDesc(), ware2.getDesc());
break;
case PRICE:
result = myCompare(viewer, ware1.getPrice(), ware2.getPrice());
break;
case UPDDATE:
result = myCompare(viewer, ware1.getUpdDate(), ware2.getUpdDate());
break;
default:break;
}
}
return result;
}
public int myCompare(Viewer viewer, Object e1, Object e2){
if(sort){
return super.compare(viewer, e1, e2);
}else{
return super.compare(viewer, e2, e1);
}
}
public int myCompare(Viewer viewer, String e1, String e2){
if(sort){
return super.compare(viewer, e1, e2);
}else{
return super.compare(viewer, e2, e1);
}
}
public int myCompare(Viewer viewer, double e1, double e2){
int result = 0;
if(e1 != e2){
if((e1-e2)>0 ^ sort){
result = -1;
}else{
result = 1;
}
}
return result;
}
// if((e1 instanceof Ware) && (e2 instanceof Ware)){
// Ware ware1 = (Ware)e1;
// Ware ware2 = (Ware)e2;
// int inum = ware2.getNum()-ware1.getNum();
//// double num = ware1.getPrice()-ware2.getPrice();
//// int inum = (int)num;
// return inum;
// }
//
// int cat1 = category(e1);
// int cat2 = category(e2);
//
// if (cat1 != cat2) {
// return cat1 - cat2;
// }
//
// String name1;
// String name2;
//
// if (viewer == null || !(viewer instanceof ContentViewer)) {
// name1 = e1.toString();
// name2 = e2.toString();
// } else {
// IBaseLabelProvider prov = ((ContentViewer) viewer)
// .getLabelProvider();
// if (prov instanceof ILabelProvider) {
// ILabelProvider lprov = (ILabelProvider) prov;
// name1 = lprov.getText(e1);
// name2 = lprov.getText(e2);
// } else {
// name1 = e1.toString();
// name2 = e2.toString();
// }
// }
// if (name1 == null) {
// name1 = "";//$NON-NLS-1$
// }
// if (name2 == null) {
// name2 = "";//$NON-NLS-1$
// }
//
// // use the comparator to compare the strings
// return getComparator().compare(name1, name2);
public int getColIndex() {
return colIndex;
}
public void setColIndex(int colIndex) {
this.colIndex = colIndex;
}
public boolean getSort() {
return sort;
}
public void setSort(boolean sort) {
this.sort = sort;
}
}
/* not use method */
// private void fillLocalToolBar(IToolBarManager manager) {
// manager.add(action1);
// manager.add(action2);
// }
// private void contributeToActionBars() {
// IActionBars bars = getViewSite().getActionBars();
// fillLocalPullDown(bars.getMenuManager());
// fillLocalToolBar(bars.getToolBarManager());
// }
// private void fillLocalPullDown(IMenuManager manager) {
// manager.add(action1);
// manager.add(new Separator());
// manager.add(action2);
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -