亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? myactiongroup.java

?? swt帶dnd應用的網址收藏夾源碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * @author 陳勇 創建日期 2006-4-10
 *
 * 努力!
 */
package cn.com.javachen.myxml.xmltree;

import java.io.IOException;
import java.util.ArrayList;

import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.ui.actions.ActionGroup;

import cn.com.javachen.myxml.dialog.MyInputDialog;
import cn.com.javachen.myxml.wz.DataFactory;
import cn.com.javachen.myxml.wz.ITreeEntry;
import cn.com.javachen.myxml.wz.RootWjj;
import cn.com.javachen.myxml.wz.WjjEntity;
import cn.com.javachen.myxml.wz.WzEntity;
import cn.com.javachen.myxml.wz.WzXml;

/**
 * @author Administrator
 * 
 * TODO 要更改此生成的類型注釋的模板,請轉至 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
 */
public class MyActionGroup extends ActionGroup {
	private TreeViewer tv;

	private Display display;

	final ITreeEntry[] sourceObj = new ITreeEntry[1];// 暫存拖動源對象

	final static String path = "./lib/WWWroot.xml";

	final Clipboard cb = new Clipboard(display);

	/**
	 * 
	 */
	public MyActionGroup(TreeViewer tv, Display display) {
		this.tv = tv;
		this.display = display;
	}

	public void fillContexMenu(IMenuManager mgr) {
		MenuManager menuManager = (MenuManager) mgr;
		menuManager.add(new OpenAction());
		menuManager.add(new ExpandAction());
		menuManager.add(new CollapseAction());
		menuManager.add(new Separator());
		menuManager.add(new CutTreeAction());
		menuManager.add(new PasteTreeAction());
		menuManager.add(new Separator());
		menuManager.add(new AddEntryAction());
		menuManager.add(new DelEntryAction());
		menuManager.add(new ModifyEntryAction());
		menuManager.add(new RefreshAction());
		menuManager.add(new Separator());
		menuManager.add(new HelpAction());
		Tree tree = tv.getTree();
		Menu menu = menuManager.createContextMenu(tree);
		System.out.println("有菜單:" + menu.getItemCount());
		tree.setMenu(menu);
	}

	private ITreeEntry getSelTreeEntry() {
		IStructuredSelection selection = (IStructuredSelection) tv
				.getSelection();
		ITreeEntry obj = (ITreeEntry) selection.getFirstElement();
		return obj;
	}

	private class OpenAction extends Action {
		public OpenAction() {
			setText("打開");
		}

		/*
		 * (非 Javadoc)
		 * 
		 * @see org.eclipse.jface.action.IAction#run()
		 */
		public void run() {
			// TODO 自動生成方法存根
			super.run();
			ITreeEntry obj = getSelTreeEntry();
			if (obj instanceof RootWjj) {
				tv.expandToLevel(obj, 1);
			} else if (obj instanceof WjjEntity) {
				tv.expandToLevel(obj, 1);
			} else if (obj instanceof WzEntity) {
				// 這里寫打開browser的代碼
				String path = ((WzEntity) obj).getPath();
				try {
					Runtime.getRuntime().exec(
							"cmd /c start IEXPLORE.EXE  \"" + path + "\"");
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

	private class RefreshAction extends Action {
		public RefreshAction() {
			setText("刷新");
		}

		/*
		 * (非 Javadoc)
		 * 
		 * @see org.eclipse.jface.action.IAction#run()
		 */
		public void run() {
			// TODO 自動生成方法存根
			super.run();
			tv.setInput(DataFactory.createTreeData());
			// tv.refresh();
		}
	}

	private class ExpandAction extends Action {
		public ExpandAction() {
			setText("全展開");
		}

		/*
		 * (非 Javadoc)
		 * 
		 * @see org.eclipse.jface.action.IAction#run()
		 */
		public void run() {
			// TODO 自動生成方法存根
			super.run();
			ITreeEntry obj = getSelTreeEntry();
			if (obj != null) {
				tv.expandAll();// 只展開一層
			}
		}
	}

	private class CollapseAction extends Action {
		public CollapseAction() {
			setText("收縮");
		}

		/*
		 * (非 Javadoc)
		 * 
		 * @see org.eclipse.jface.action.IAction#run()
		 */
		public void run() {
			// TODO 自動生成方法存根
			super.run();
			ITreeEntry obj = getSelTreeEntry();
			if (obj instanceof RootWjj) {
				tv.collapseToLevel(obj, 1);
			} else if (obj instanceof WjjEntity) {
				tv.collapseToLevel(obj, 1);
			} else if (obj instanceof WzEntity) {
				tv.collapseAll();
			}
		}
	}

	private class CutTreeAction extends Action {
		public CutTreeAction() {
			setText("剪切");
		}

		public void run() {
			super.run();
			ITreeEntry obj = getSelTreeEntry();
			if (obj instanceof RootWjj) {
				return;
			} else if (obj instanceof WjjEntity) {
				return;
			} else if (obj instanceof WzEntity) {				
				Object[] data = new Object[] { obj.getName() };
				Transfer[] types = new Transfer[] { TextTransfer.getInstance() };
				cb.setContents(data, types);
				sourceObj[0] = obj;
				try {
					WzXml.delWzXML(path, ((WzEntity) obj).getName());
				} catch (Exception e) {
					// TODO 自動生成 catch 塊
					MessageDialog.openError(null, "剪切錯誤", e.toString());
					return;
				}
				tv.remove(obj);				
			}
		}
	}

	private class PasteTreeAction extends Action {
		public PasteTreeAction() {
			setText("粘貼");
		}

		public void run() {
			super.run();
			ITreeEntry obj = getSelTreeEntry();
			
			if (obj instanceof RootWjj) {
				return;
			} else if (obj instanceof WjjEntity) {
				if (cb.getContents(TextTransfer.getInstance()) != null) {
					String str = (String) (cb.getContents(TextTransfer
							.getInstance()));
					WzEntity childObj = new WzEntity(str,
							((WzEntity) sourceObj[0]).getPath(),
							(WjjEntity) obj);
					try {
						WzXml.AddWzXML(path, obj.getName(), childObj);
					} catch (Exception e) {
						// TODO 自動生成 catch 塊
						MessageDialog.openError(null, "剪切錯誤", e.toString());
						return;
					}					
					if(!obj.equals(sourceObj[0].getParent())){//除掉本身文件夾粘貼時產生兩個相同的站點視圖模型
					if (!new TreeViewerContentProvider().hasChildren(obj)) {//我以前寫的解決“+”問題,在這里只能用我寫的解決。陳剛寫的不管。
	                        ArrayList list = new ArrayList();
	                        list.add(childObj);
	                        obj.setChildren(list);
	                }
					tv.setExpandedState(obj,true);
					tv.add(obj, childObj);
					}else{
						tv.setExpandedState(obj,true);
						tv.refresh(obj);
					}
					cb.clearContents();
				} else {
					return;
				}

			} else if (obj instanceof WzEntity) {
				if (cb.getContents(TextTransfer.getInstance()) != null) {
					String str = (String) (cb.getContents(TextTransfer
							.getInstance()));
					WzEntity childObj = new WzEntity(str,
							((WzEntity) sourceObj[0]).getPath(),
							(WjjEntity) obj.getParent());
					try {
						WzXml.AddWzXML(path, ((WjjEntity) obj.getParent())
								.getName(), childObj);
					} catch (Exception e) {
						// TODO 自動生成 catch 塊
						MessageDialog.openError(null, "剪切錯誤", e.toString());
						return;
					}
					tv.add(obj.getParent(), childObj);							
					cb.clearContents();
					
				} else {
					return;
				}
			}
		}
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人高清| 国产一区二三区| 91福利视频在线| 一区二区三区日韩在线观看| av成人免费在线| 亚洲午夜成aⅴ人片| 欧美猛男男办公室激情| 日韩av在线播放中文字幕| 欧美精品第一页| 国内一区二区视频| 中文字幕一区二区三区在线观看 | 一级女性全黄久久生活片免费| 91亚洲永久精品| 亚洲一区二区三区美女| 91麻豆精品国产91久久久资源速度 | 欧美变态口味重另类| 国产乱理伦片在线观看夜一区| 国产午夜一区二区三区| 91性感美女视频| 午夜精品久久久久久久久久久| 日韩一级免费一区| 成人一区二区三区在线观看| 亚洲免费看黄网站| 日韩欧美第一区| 99久久精品免费精品国产| 亚洲一区电影777| 欧美一二三区在线| 91年精品国产| 免费成人结看片| 国产精品国产精品国产专区不片| 在线区一区二视频| 国产毛片精品一区| 亚洲一区二区三区在线播放| 亚洲精品在线免费播放| 91在线观看污| 美国毛片一区二区三区| 综合久久一区二区三区| 日韩三级免费观看| 91免费视频网址| 国产精选一区二区三区| 亚洲综合在线五月| 国产欧美精品一区二区色综合朱莉| 日本高清成人免费播放| 国产一区二区在线电影| 亚洲成人你懂的| 国产精品久久毛片| 欧美成人一区二区三区| 色婷婷激情综合| 国产精品18久久久久久vr| 亚洲成人自拍偷拍| 亚洲色图欧洲色图| 久久久久久久一区| 日韩欧美色综合网站| 欧美色网一区二区| 成人美女视频在线观看18| 美女脱光内衣内裤视频久久网站| 亚洲乱码国产乱码精品精可以看| 久久这里只有精品视频网| 欧美日韩免费视频| 色嗨嗨av一区二区三区| 成人妖精视频yjsp地址| 精品影视av免费| 青娱乐精品在线视频| 亚洲无线码一区二区三区| √…a在线天堂一区| 欧美国产日产图区| 久久综合久久鬼色| 日韩欧美国产系列| 日韩三级免费观看| 日韩欧美成人激情| 欧美一区二区三级| 欧美一区二区三区免费| 在线成人高清不卡| 欧美丰满少妇xxxbbb| 欧美性色黄大片| 欧美日韩精品三区| 在线欧美小视频| 在线欧美日韩精品| 欧美色成人综合| 91激情在线视频| 欧美怡红院视频| 欧美美女一区二区| 91精品福利在线一区二区三区 | 成人av在线一区二区三区| 国产激情一区二区三区| 成人午夜在线免费| 91在线精品一区二区| 972aa.com艺术欧美| 色就色 综合激情| 在线精品国精品国产尤物884a| 日本精品一区二区三区高清| 色欧美日韩亚洲| 欧美日韩高清一区二区| 91精品在线观看入口| 欧美一区二区福利在线| 精品捆绑美女sm三区| 久久久亚洲精华液精华液精华液| 国产欧美视频一区二区三区| 国产精品美女久久久久av爽李琼| 国产精品视频一二三| 亚洲精品欧美激情| 日韩高清不卡在线| 激情成人午夜视频| 成人性生交大合| 日本黄色一区二区| 91精品国产高清一区二区三区蜜臀| 精品国产91久久久久久久妲己| 久久久精品国产免费观看同学| 国产精品传媒入口麻豆| 亚洲一区二区三区免费视频| 热久久免费视频| 国产不卡在线视频| 欧美系列日韩一区| 久久久影视传媒| 夜夜嗨av一区二区三区四季av| 秋霞成人午夜伦在线观看| 成人免费视频app| 欧美三级午夜理伦三级中视频| 精品999久久久| 亚洲国产毛片aaaaa无费看| 麻豆91在线播放免费| 99这里只有精品| 欧美草草影院在线视频| 亚洲色图视频网| 久久er99精品| 欧洲视频一区二区| 久久奇米777| 亚洲成人777| 95精品视频在线| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲三级免费观看| 国产一区二区三区高清播放| 91黄色免费网站| 国产精品女上位| 美脚の诱脚舐め脚责91| 欧美综合欧美视频| 欧美韩国一区二区| 久久黄色级2电影| 欧美熟乱第一页| 国产精品国产自产拍在线| 九九视频精品免费| 欧美日韩久久一区| 亚洲摸摸操操av| 成人精品一区二区三区中文字幕| 在线观看91av| 亚洲成人动漫在线免费观看| 99久久精品费精品国产一区二区| 欧美大胆人体bbbb| 午夜亚洲国产au精品一区二区 | 欧美丝袜第三区| 亚洲欧洲精品天堂一级| 国产一区二区三区蝌蚪| 91精品视频网| 天堂一区二区在线| 欧美性猛片xxxx免费看久爱| 国产精品美女久久久久久久网站| 看片的网站亚洲| 欧美精品乱人伦久久久久久| 亚洲乱码一区二区三区在线观看| 国产成人免费视频一区| 精品国产凹凸成av人网站| 美美哒免费高清在线观看视频一区二区| 欧洲精品在线观看| 亚洲最大成人网4388xx| 91色porny在线视频| 亚洲欧美在线视频观看| 99久久精品免费看国产 | 亚洲精品免费视频| 成人app在线观看| 国产精品毛片高清在线完整版| 激情文学综合网| 国产色91在线| 成人国产精品免费观看| 国产精品国产三级国产普通话99| 国产·精品毛片| 国产精品国产三级国产专播品爱网 | 欧美国产成人精品| 成人av先锋影音| 亚洲天堂精品在线观看| 91免费在线播放| 亚洲线精品一区二区三区| 欧美日韩一级大片网址| 日本在线播放一区二区三区| 91.com在线观看| 久久草av在线| 日本一区二区三区在线不卡| av网站一区二区三区| 一区二区成人在线视频| 欧美精品第一页| 国产伦精一区二区三区| 国产精品美女久久久久久久久久久| av不卡免费在线观看| 亚洲成在人线在线播放| 精品久久久影院| www.综合网.com| 亚洲成人7777| 欧美激情自拍偷拍| 欧美亚洲动漫另类| 国产真实乱对白精彩久久| 亚洲视频综合在线|