⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wareview.java

📁 eclipse rcp 项目实例
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		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 + -