📄 myactiongroup.java
字号:
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 + -