?? 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 + -