Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 223 → Rev 224

/DUBwise/trunk/j2me/src/DUBwiseCanvas.java
103,6 → 103,7
 
// variable to hold the current state
public byte state=STATEID_INITIAL;
public byte nextstate=STATEID_INITIAL;
int local_max=-1;
 
158,7 → 159,7
tmp_actions[setup_pos]=ACTIONID_RCDATA;
tmp_items[setup_pos++] ="view RC-data";
 
tmp_actions[setup_pos]=ACTIONID_EDIT_PARAMS;
tmp_actions[setup_pos]=ACTIONID_PARAM_MENU;
tmp_items[setup_pos++] ="Flight Settings";
 
tmp_actions[setup_pos] =ACTIONID_HORIZON;
189,7 → 190,6
}
 
 
 
if ( mk.ufo_prober.is_navi())
{
tmp_actions[setup_pos]=ACTIONID_GPSDATA;
392,8 → 392,8
public DUBwiseCanvas(DUBwise _root)
{
 
act_menu_select_bak=new int[LAST_STATEID];
for (int i=0;i<LAST_STATEID;i++)
act_menu_select_bak=new int[STATEID_COUNT];
for (int i=0;i<STATEID_COUNT;i++)
act_menu_select_bak[i]=0;
//#if fileapi=="on"
file_access=new DUBwiseFileAccess(this);
457,7 → 457,7
if (mk.ufo_prober.is_incompatible())
{
mk.error_str="incompatible Device";
chg_state(STATEID_NC_ERRORS);
chg_state(STATEID_ERROR_MSG);
}
else
if (state==STATEID_MAINMENU)
467,7 → 467,15
switch(state)
{
 
case STATEID_RESET_PARAMS:
if (mk.bootloader_finish_ok)
{
nextstate=STATEID_PARAM_MENU;
success_msg="Param Reset Success!";
chg_state(STATEID_SUCCESS_MSG);
}
break;
case STATEID_GRAPH:
graph_offset--;
if (graph_offset==-graph_data[0].length)
508,7 → 516,8
//mk.send_keys(keycontrol_bitfield);
break;
case STATEID_NC_ERRORS:
 
case STATEID_ERROR_MSG:
lcd_lines[0]=""+mk.error_str;
break;
526,7 → 535,7
if (mk.params.found_incompatible)
{
mk.error_str="incompatible params";
chg_state(STATEID_NC_ERRORS);
chg_state(STATEID_ERROR_MSG);
}
}
957,17 → 966,20
y_off-=spacer1;
}
break;
case STATEID_NC_ERRORS:
 
case STATEID_SUCCESS_MSG:
case STATEID_ERROR_MSG:
if (err_img!=null)
{
int err_img_left=(canvas_width-err_img.getWidth()/2)/2;
int err_img_top=(canvas_height-err_img.getHeight())/2;
if (err_img_top<0)err_img_top=0;
g.setClip(err_img_left,err_img_top,err_img.getWidth()/2,err_img.getHeight());
g.drawImage(err_img,err_img_left-err_img.getWidth()/2,err_img_top, g.TOP | g.LEFT);
g.drawImage(err_img,err_img_left-((state==STATEID_SUCCESS_MSG)?0:(err_img.getWidth()/2)),err_img_top, g.TOP | g.LEFT);
}
paint_lcd(g);
 
break;
break;
 
case STATEID_GPSVIEW:
 
1066,6 → 1078,7
 
break;
 
case STATEID_RESET_PARAMS:
case STATEID_FLASHING:
g.setFont(f2);
int msg_pos=0;
1157,9 → 1170,15
paint_menu(g);
break;
//#endif
 
 
case STATEID_PARAM_MENU:
paint_menu(g);
break;
case STATEID_STRINGINPUT:
case STATEID_ABOUT:
case STATEID_IPINPUT:
 
paint_lcd(g);
break;
 
1473,6 → 1492,7
// int intro_str_pos=0;
// int intro_str_delay=3;
// boolean init_bootloader=false;
String success_msg="";
 
public void chg_state(byte next_state)
{
1486,9 → 1506,11
// prepare next state
switch(next_state)
{
case STATEID_NC_ERRORS:
case STATEID_SUCCESS_MSG:
case STATEID_ERROR_MSG:
lcd_lines=new String[1];
lcd_lines[0]=""+mk.error_str;
lcd_lines[0]=""+((next_state==STATEID_SUCCESS_MSG)?success_msg:mk.error_str);
try
{
err_img=Image.createImage("/preflight.jpg");
1511,6 → 1533,13
case STATEID_FLIGHTVIEW:
mk.user_intent=USER_INTENT_LCD;
break;
case STATEID_RESET_PARAMS:
 
mk.bootloader_intension_flash=false;
mk.bl_retrys=0;
mk.init_bootloader=true;
break;
 
case STATEID_FLASHING:
mk.bootloader_intension_flash=true;
mk.bl_retrys=0;
1548,6 → 1577,11
case STATEID_CONN_DETAILS:
setup_menu(conn_details_menu_items,conn_details_menu_actions);
break;
 
 
case STATEID_PARAM_MENU:
setup_menu(param_menu_items,param_menu_actions);
break;
case STATEID_TRAFFIC:
setup_menu(onlyback_menu_items,back_to_conndetails_actions);
break;
1619,11 → 1653,12
break;
 
case STATEID_SELECT_PARAMSET:
menu_items=new String[5];
menu_items=new String[6];
for (int i=0;i<5;i++)
menu_items[i]=""+(i+1)+": " + mk.params.getParamName(i) + ((i==mk.params.active_paramset)?"*":"");
 
lcd_lines=new String[5];
menu_items[5]="back";
lcd_lines=new String[6];
break;
 
//#if bluetooth=="on"
1846,7 → 1881,10
switch(state)
{
 
case STATEID_NC_ERRORS:
case STATEID_SUCCESS_MSG:
chg_state(nextstate);
break;
case STATEID_ERROR_MSG:
chg_state(STATEID_MAINMENU);
break;
case STATEID_STRINGINPUT:
2147,6 → 2185,7
// handle menue
// case STATEID_SELECT_SPEED_FORMAT:
// case STATEID_SELECT_GPS_FORMAT:
case STATEID_PARAM_MENU:
case STATEID_TRAFFIC:
case STATEID_CONN_DETAILS:
case STATEID_HANDLE_PARAMS:
2157,7 → 2196,14
{
switch(menu_actions[act_menu_select])
{
 
case ACTIONID_PARAM_MENU:
chg_state(STATEID_PARAM_MENU);
break;
case ACTIONID_PARAM_WRITE_OK:
success_msg="Parameter Write OK";
chg_state(STATEID_SUCCESS_MSG);
break;
case ACTIONID_HORIZON:
chg_state(STATEID_HORIZON);
break;
2174,10 → 2220,9
break;
 
case ACTIONID_RESET_PARAMS:
state=STATEID_FLASHING;
mk.bootloader_intension_flash=false;
mk.bl_retrys=0;
mk.init_bootloader=true;
chg_state(STATEID_RESET_PARAMS);
// state=STATEID_FLASHING;
 
break;
 
case ACTIONID_FLASH:
2189,7 → 2234,7
break;
case ACTIONID_NC_ERRORS:
chg_state(STATEID_NC_ERRORS);
chg_state(STATEID_ERROR_MSG);
break;
 
case ACTIONID_ABOUT:
2265,6 → 2310,9
 
case ACTIONID_EDIT_PARAMS:
chg_state(STATEID_EDIT_PARAMS);
break;
case ACTIONID_SELECT_PARAMS:
select_paramset4edit=true;
if (mk.watchdog.act_paramset<5)
chg_state(STATEID_READ_PARAMS);
2281,12 → 2329,17
 
case ACTIONID_WRITE_PARAMS:
mk.write_params(mk.params.act_paramset);
chg_state(STATEID_MAINMENU);
success_msg="Saved Settings"; // too optimistic
nextstate=STATEID_HANDLE_PARAMS;
chg_state(STATEID_SUCCESS_MSG);
break;
 
case ACTIONID_UNDO_PARAMS:
mk.params.use_backup();
chg_state(STATEID_MAINMENU);
success_msg="Settings Undo OK"; // too optimistic
nextstate=STATEID_HANDLE_PARAMS;
chg_state(STATEID_SUCCESS_MSG);
 
break;
 
case ACTIONID_MAINMENU:
2330,16 → 2383,31
case STATEID_SELECT_PARAMSET:
if ( getGameAction (keyCode)==FIRE )
{
if (select_paramset4edit)
// if ( mk.params.field[act_menu_select]!=null)
{
mk.params.act_paramset=act_menu_select;
chg_state(STATEID_EDIT_PARAMS);
if (act_menu_select==5) // back
{
if (select_paramset4edit)
chg_state(STATEID_PARAM_MENU);
else
chg_state(STATEID_HANDLE_PARAMS);
}
else
{
mk.write_params(act_menu_select);
chg_state(STATEID_MAINMENU);
{
if (select_paramset4edit)
// if ( mk.params.field[act_menu_select]!=null)
{
mk.params.act_paramset=act_menu_select;
chg_state(STATEID_HANDLE_PARAMS);
//success_msg="Params saved";
}
else
{
mk.write_params(act_menu_select);
nextstate=STATEID_HANDLE_PARAMS;
success_msg="saved in slot " + (act_menu_select+1) ;
chg_state(STATEID_SUCCESS_MSG); // TODO - ground too optimistic way ;-)
}
 
}
}
else menu_keypress(keyCode);