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

📄 myactiongroup.java

📁 基于eclipse|rcp的浏览器,另完成加入了收藏夹功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	}

	private class AddEntryAction extends Action {
		public AddEntryAction() {
			setText("增加");
		}

		/*
		 * (非 Javadoc)
		 * 
		 * @see org.eclipse.jface.action.IAction#run()
		 */
		public void run() {
			// TODO 自动生成方法存根
			super.run();
			ITreeEntry obj = getSelTreeEntry();
			if (obj == null) {
				return;
			}

			if (obj instanceof RootWjj) {

				InputDialog dialog = new InputDialog(null, "增加文件夹", "输入新文件夹名称",
						"", null);
				ITreeEntry newEntry = null;

				if (dialog.open() == InputDialog.OK) {

					String entryName = dialog.getValue();
					if (!entryName.equals("")) {// 如果不为空则加一文件夹
						int i = WzXml.FindWjjXml(path, entryName);
						if (i == -1) {
							newEntry = new WjjEntity(entryName);
							try {
								WzXml.AddWjjXML(path, new WjjEntity(entryName));
							} catch (Exception e) {
								// TODO 自动生成 catch 块
								MessageDialog.openError(null, "增加错误", e
										.toString());
								return;
							}
							// 增加子结点之前将父结点展开
							
							((ITreeEntry) obj).getChildren().add(newEntry);
							tv.add(obj, newEntry);
							if (!tv.getExpandedState(obj)) {
								tv.expandToLevel(obj, 1);
							}
							
						} else {
							MessageDialog.openError(null, "修改错误",
									"已有同名文件夹存在,请重新操作");
						}
					}
				}

			} else if (obj instanceof WjjEntity) {
				MyInputDialog dialog = new MyInputDialog(null, "增加站点", "站点名称",
						"", "URL", "", null);
				WzEntity newWzEntity = null;
				if (dialog.open() == InputDialog.OK) {
					String entryName = dialog.getValue();
					String url = dialog.getValue2();
					if (!entryName.equals("")) {// 如果站点名不为空则加一站点
						int j = WzXml.FindWzXml(path, obj.getName());// 取得修改前的id号
						int i = WzXml.FindWzXml(path, entryName);// 取得修改后的id号
						if (i == -1 || i == j) {// 如果修改后的站点名称不与其它站点重名(除本身i==j)
							newWzEntity = new WzEntity(entryName, url,
									(WjjEntity) obj);
							try {
								WzXml
										.AddWzXML(path, obj.getName(),
												newWzEntity);
							} catch (Exception e) {
								// TODO 自动生成 catch 块
								MessageDialog.openError(null, "修改错误", e
										.toString());
								return;
							}
							((ITreeEntry) obj).getChildren().add(newWzEntity);
							tv.add(obj, newWzEntity);
							if (!tv.getExpandedState(obj)) {
								tv.expandToLevel(obj, 1);
							}							
						} else {
							MessageDialog.openError(null, "修改错误",
									"已有同名站点存在,请重新操作");
						}
					}
				}
			} else if (obj instanceof WzEntity) {
				MyInputDialog dialog = new MyInputDialog(null, "增加站点", "站点名称",
						"", "URL", "", null);
				WzEntity newWzEntity = null;

				if (dialog.open() == InputDialog.OK) {
					String entryName = dialog.getValue();
					String url = dialog.getValue2();
					if (!entryName.equals("")) {// 如果站点名不为空则加一站点
						int j = WzXml.FindWzXml(path, obj.getName());// 取得修改前的id号
						int i = WzXml.FindWzXml(path, entryName);// 取得修改后的id号
						String wjjName = WzXml.FindFartherWzXml(path, obj
								.getName());// 取得父级名称
						if (i == -1 || i == j) {// 如果修改后的站点名称不与其它站点重名(除本身i==j)
							newWzEntity = new WzEntity(entryName, url,
									(WjjEntity) obj.getParent());
							try {
								WzXml.AddWzXML(path, wjjName, newWzEntity);
							} catch (Exception e) {
								// TODO 自动生成 catch 块
								MessageDialog.openError(null, "修改错误", e
										.toString());
								return;
							}
							// 此处刷新有问题
							((WjjEntity) obj.getParent()).getChildren().add(
									newWzEntity);
							tv.add((WjjEntity) obj.getParent(), newWzEntity);
							if (!tv.getExpandedState((WjjEntity) obj
									.getParent())) {
								tv
										.expandToLevel((WjjEntity) obj
												.getParent(), 1);
							}
							} else {
							MessageDialog.openError(null, "修改错误",
									"已有同名站点存在,请重新操作");
						}
					}
				}
			}

		}
	}

	private class DelEntryAction extends Action {
		public DelEntryAction() {
			setText("删除");
		}

		/*
		 * (非 Javadoc)
		 * 
		 * @see org.eclipse.jface.action.IAction#run()
		 */
		public void run() {
			// TODO 自动生成方法存根
			super.run();
			ITreeEntry obj = getSelTreeEntry();
			if (obj == null || obj instanceof RootWjj) {
				return;
			}

			if (MessageDialog.openQuestion(null, "删除", "确定要删除该项:"
					+ obj.getName())) {

				if (obj instanceof WjjEntity) {

					// 删持久数据文件夹项及子项
					try {
						WzXml.delWjjXML(path, ((WjjEntity) obj).getName());
					} catch (Exception e) {
						// TODO 自动生成 catch 块
						MessageDialog.openError(null, "删除错误", e.toString());
						return;
					}
					tv.remove(obj);

				} else if (obj instanceof WzEntity) {

					// 删持久数据站点项
					try {
						WzXml.delWzXML(path, ((WzEntity) obj).getName());
					} catch (Exception e) {
						// TODO 自动生成 catch 块
						MessageDialog.openError(null, "删除错误", e.toString());
						return;
					}
					tv.remove(obj);

				}
			}

		}
	}

	private class ModifyEntryAction extends Action {
		public ModifyEntryAction() {
			setText("修改");
		}

		/*
		 * (非 Javadoc)
		 * 
		 * @see org.eclipse.jface.action.IAction#run()
		 */
		public void run() {
			// TODO 自动生成方法存根
			super.run();
			ITreeEntry obj = getSelTreeEntry();
			if (obj == null || obj instanceof RootWjj) {
				return;
			}
			if (obj instanceof WjjEntity) {

				InputDialog dialog = new InputDialog(null, "修改结点", "输入新文件夹名称",
						obj.getName(), null);
				if (dialog.open() == InputDialog.OK) {
					String entryName = dialog.getValue();
					int i = WzXml.FindWjjXml(path, entryName);
					if (i == -1) {
						try {
							WzXml.editWjjXML(path, obj.getName(), entryName);
						} catch (Exception e) {
							// TODO 自动生成 catch 块
							MessageDialog.openError(null, "修改错误", e.toString());
							return;
						}
						obj.setName(entryName);
						tv.refresh(obj);
					} else {
						MessageDialog
								.openError(null, "修改错误", "已有同名文件夹存在,请重新操作");
					}
				}
			} else if (obj instanceof WzEntity) {
				MyInputDialog dialog = new MyInputDialog(null, "修改站点",
						"修改站点名称", obj.getName(), "修改URL", ((WzEntity) obj)
								.getPath(), null);
				if (dialog.open() == InputDialog.OK) {
					String entryName = dialog.getValue();
					String url = dialog.getValue2();
					int j = WzXml.FindWzXml(path, obj.getName());// 取得修改前的id号
					int i = WzXml.FindWzXml(path, entryName);// 取得修改后的id号
					if (i == -1 || i == j) {// 如果修改后的站点名称不与其它站点重名(除本身i==j)
						WzEntity newWzEntity = new WzEntity(entryName, url,
								(WjjEntity) obj.getParent());
						try {
							WzXml.editWzXML(path, obj.getName(), newWzEntity);
						} catch (Exception e) {
							// TODO 自动生成 catch 块
							MessageDialog.openError(null, "修改错误", e.toString());
							return;
						}
						obj.setName(entryName);
						tv.refresh(obj);
					} else {
						MessageDialog
								.openError(null, "修改错误", "已有同名文件夹存在,请重新操作");
					}
				}
			}

		}
	}

	private class HelpAction extends Action {
		public HelpAction() {
			setText("帮助");
		}

		public void run() {
			// TODO 自动生成方法存根
			super.run();
			MessageDialog
					.openInformation(
							null,
							"帮助",
							"这么简单的东东\nPlease try it your self.\n作者:陈勇(chenyong301@tom.com)\n版权归原作者所有,未经许许可不得商用");
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -