📄 noteeditworkflow.java
字号:
/*
* Created on 2005-3-6
*
* Note Project
*/
package com.favo.note;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import com.favo.ui.BackgroundTask;
import com.favo.ui.BaseController;
import com.favo.ui.BaseView;
import com.favo.ui.ProgressGaugeUI;
import com.favo.ui.ProgressObserver;
/**
* @author Favo
*
* NoteEditWorkflow <<Controller>>
*/
public class NoteEditWorkflow extends BaseController {
NoteEditUI noteEditUI;
com.favo.note.NoteLocator.Note note;
int noteId;
/**
* @param noteId
*/
public NoteEditWorkflow(int noteId) {
super();
this.noteId = noteId;
}
/**
* 如果已经构造好了Note使用这个构造函数
*
* @param note
* @param noteId
*/
public NoteEditWorkflow(com.favo.note.NoteLocator.Note note, int noteId) {
super();
this.note = note;
this.noteId = noteId;
}
public BaseView getView() {
return noteEditUI;
}
public void setView(BaseView view) {
noteEditUI = (NoteEditUI) view;
}
public com.favo.note.NoteLocator.Note getNote() {
if (note == null) {
try {
note = NoteLocator.getInstance().getNote(noteId);
} catch (Exception e) {
e.printStackTrace();
Alert al = new Alert("error");
al.setString(e.toString() + "\n" + e.getMessage());
getView().getDisplay().setCurrent(al);
}
}
return note;
}
public String getTitle() {
return getNote().getTitle();
}
public String getContent() {
return getNote().getContent();
}
/**
* 直接存盘,使用原先的题目
*
*/
public void saveDispose() {
if (getTitle().equals("")|noteId==NoteLocator.NEWNODE) {
saveWithTitleDispose();
} else {
saveNote();
}
}
/**
* 更新题目,并存盘
*/
public void saveWithTitleDispose() {
NoteSaverUI noteSaverUI=new NoteSaverUI(this);
noteSaverUI.displayScreen();
}
/**
*储存,被saveDispose(),saveWithTitleDispose()调用
*/
public void saveNote(){
getNote().setContent(((NoteEditUI)getView()).textBox.getString());//设置修改后的内容
getNote().setDate(System.currentTimeMillis());//设置修改时间
ProgressObserver poUI = ProgressGaugeUI.getInstance();
BackgroundTask bkTask = new BackgroundTask(poUI, getView()
.getScreen(), getView().getDisplay()) {
public boolean runTask() {
alertScreen = new Alert("Error", "Can't save the note",
null, AlertType.ERROR);
needAlert = true;
try {
NoteLocator.getInstance().saveNote(note, noteId);
} catch (Exception e) {
e.printStackTrace();
getView().getDisplay().setCurrent(alertScreen);
return false;
}
getProgressObserver().updateProgress("ok!");
backDispose();
System.out.println("save ok");
return true;
}
public void cancel() {
}
};
BackgroundTask.runWithProgressGauge(bkTask, "save...",
"please wait", false, getView().getDisplay());
}
public void backDispose() {
NoteManagerWorkflow noteListWorkflow = new NoteManagerWorkflow();
NoteManagerUI noteListUI = new NoteManagerUI(noteListWorkflow);
noteListUI.displayScreen();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -