/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jimmui.view.text;
import jimmui.Clipboard;
import jimmui.view.base.NativeCanvas;
import jimmui.view.menu.MenuModel;
import jimmui.view.menu.Select;
import jimmui.view.menu.SelectListener;
/**
*
* @author vladimir
*/
public class TextListController implements SelectListener {
protected int defaultCode = -1;
private MenuModel menu;
protected TextList list;
protected TextContent content;
public TextListController() {
}
public TextListController(MenuModel menu, int def) {
this.menu = menu;
this.defaultCode = def;
}
void setList(TextList list) {
this.list = list;
}
public final void copy(boolean all) {
String text = all ? list.getModel().getAllText()
: list.getModel().getParText(list.getTextContent().getCurrItem());
if (null != text) {
Clipboard.setClipBoardText(text);
}
}
protected MenuModel getMenu() {
return menu;
}
public final void setDefaultCode(int def) {
defaultCode = def;
}
public final void setMenu(MenuModel menu, int defCode) {
this.menu = menu;
setDefaultCode(defCode);
if (null != list) {
list.updateModel();
}
}
protected final void doJimmBaseAction(int keyCode) {
switch (keyCode) {
case NativeCanvas.JIMM_SELECT:
MenuModel m = getMenu();
if ((-1 != defaultCode) && (null != m)) {
m.exec(null, defaultCode);
}
break;
case NativeCanvas.JIMM_BACK:
list.back();
break;
case NativeCanvas.JIMM_MENU:
list.showMenu(getMenu());
break;
}
}
public final void select(Select select, MenuModel menu, int action) {
if (null != select) {
select.back();
}
doJimmAction(action);
}
protected void doJimmAction(int keyCode) {
doJimmBaseAction(keyCode);
}
protected void beforePaint() {
}
public void setContent(TextContent content) {
this.content = content;
}
}