17,10 → 17,9 |
implements org.ligi.ufo.DUBwiseDefinitions,DUBwiseUIDefinitions,org.ligi.ufo.DUBwiseLangDefs |
{ |
// name/handle for the recordStore to memorize some stuff |
private final static String RECORD_STORE_NAME="DUBSETT_V4"; |
private final static String RECORD_STORE_NAME="DUBSETT_V5"; |
|
/* all settings hold here */ |
//holds id of actual skin |
public byte act_skin=SKINID_DARK; |
|
public int key_back; |
29,42 → 28,40 |
|
public int voice_delay; |
public int voice_volume; |
|
|
public byte graph_interval=1; |
|
|
public byte graph_interval; |
public int remote_cam_stick; |
|
public String connection_name=""; |
public String connection_url=""; |
|
public boolean do_vibra=true; |
public boolean do_sound=true; |
public boolean do_volts_sound=true; |
public boolean do_altimeter_sound=true; |
public boolean do_vibra; |
public boolean do_sound; |
public boolean do_volts_sound; |
public boolean do_altimeter_sound; |
|
public boolean big_fonts; |
|
public byte altsteps; |
|
public boolean horizon_invert_nick=true; |
public boolean horizon_invert_roll=true; |
public boolean horizon_display_altitude=true; |
public boolean horizon_display_flytime=true; |
public boolean horizon_invert_nick; |
public boolean horizon_invert_roll; |
public boolean horizon_display_altitude; |
public boolean horizon_display_flytime; |
|
public boolean fullscreen=false; |
public boolean do_scrollbg=false; |
public boolean expert_mode=false; |
public boolean dev_mode=false; |
public boolean fullscreen; |
public boolean do_scrollbg; |
public boolean expert_mode; |
public boolean dev_mode; |
public boolean betatester_mode; |
|
public boolean reload_settings; |
public boolean instant_error_show; |
|
|
public boolean reload_settings=false; |
public boolean instant_error_show=false; |
|
public boolean graph_legend; |
public boolean graph_scale; |
|
|
|
|
//#if devicecontrol=="on" |
public boolean keep_lighton=false; |
//#endif |
73,26 → 70,9 |
int[] act_conn_ip=default_ip; // { ip , ip , ip , ip , port } |
|
|
// public byte gps_format=GPS_FORMAT_DECIMAL; |
// public byte speed_format=SPEED_FORMAT_KMH; |
/* end of all settings hold here */ |
|
|
int[] settings_field; |
|
public int get_field_from_act(int pos) { return settings_field[pos];} |
public void set_field_from_act(int pos,int val){ |
|
settings_field[pos]=val; |
field2setting(pos,val); |
} |
|
public void toggle_fullscreen() |
{ |
// fullscreen=!fullscreen; |
set_field_from_act(1,settings_field[1]^1); |
// if (fullscreen)canvas.setFullScreenMode(true); |
} |
|
public final static int SETTINGS_POS_SKIN =0; |
public final static int SETTINGS_POS_BITFIELD1 =1; |
public final static int SETTINGS_POS_GPS_FORMAT =2; |
112,9 → 92,42 |
public final static int SETTINGS_POS_GRAPHINTERVAL =16; |
public final static int SETTINGS_POS_BITFIELD3 =17; |
public final static int SETTINGS_POS_ALTSTEPS =18; |
public final static int SETTINGS_POS_CAMSTICK =19; |
|
public final static int SETTINGS_POS_PRIMARYABO =20; |
public final static int SETTINGS_POS_SECONDARYABO =21; |
public final static int SETTINGS_POS_DEFAULTABO =22; |
public final static int SETTINGS_FIELD_LENGTH =23; |
|
|
|
int[] settings_field; |
|
public int get_field_from_act(int pos) { return settings_field[pos];} |
public void set_field_from_act(int pos,int val){ |
|
settings_field[pos]=val; |
field2setting(pos,val); |
} |
|
public void toggle_fullscreen() |
{ |
// fullscreen=!fullscreen; |
set_field_from_act(1,settings_field[1]^1); |
// if (fullscreen)canvas.setFullScreenMode(true); |
} |
|
public void set_betatester() |
{ |
settings_field[SETTINGS_POS_BITFIELD3]|=2; |
} |
|
public void field2setting(int pos,int val) |
{ |
try { |
boolean new_fullscreen=fullscreen; |
boolean new_do_scrollbg=do_scrollbg; |
|
switch (pos) |
{ |
case SETTINGS_POS_ALTSTEPS: |
127,148 → 140,133 |
graph_interval=(byte)val; |
break; |
|
} |
|
if (pos==SETTINGS_POS_LANG) |
{ |
canvas.act_lang=(byte)val; |
canvas.load_strings(); |
} |
case SETTINGS_POS_BITFIELD1: |
new_fullscreen=((val&1)!=0); |
new_do_scrollbg=((val&2)!=0); |
|
do_sound=((val&4)!=0); |
do_vibra=((val&8)!=0); |
expert_mode=((val&16)!=0); |
//#if devicecontrol=="on" |
keep_lighton=((val&32)!=0); |
//#endif |
graph_legend=((val&64)!=0); |
graph_scale=((val&128)!=0); |
|
if (pos==SETTINGS_POS_SKIN) |
{ |
act_skin=(byte)val; |
canvas.load_skin_images(); |
} |
break; |
|
if ((pos==SETTINGS_POS_BITFIELD1)&&((val&1)==1)&&(!fullscreen)) |
{ |
fullscreen=true; |
canvas.setFullScreenMode(fullscreen); |
} |
case SETTINGS_POS_BITFIELD2: |
do_volts_sound=((val&1)!=0); |
reload_settings=((val&2)!=0); |
do_altimeter_sound=((val&4)!=0); |
horizon_invert_roll=((val&8)!=0); |
horizon_invert_nick=((val&16)!=0); |
horizon_display_flytime=((val&32)!=0); |
horizon_display_altitude=((val&64)!=0); |
dev_mode=((val&128)!=0); |
break; |
|
if ((pos==SETTINGS_POS_BITFIELD1)&&((val&1)==0)&&(fullscreen)) |
{ |
fullscreen=false; |
canvas.setFullScreenMode(fullscreen); |
} |
case SETTINGS_POS_BITFIELD3: |
instant_error_show=((val&1)!=0); |
betatester_mode=((val&2)!=0); |
big_fonts=((val&4)!=0); |
canvas.regenerate_fonts=true; |
break; |
|
if ((pos==SETTINGS_POS_BITFIELD1)&&((val&2)==2)&&(!do_scrollbg)) |
{ |
do_scrollbg=true; |
canvas.load_skin_images(); |
} |
case SETTINGS_POS_GPS_FORMAT: |
canvas.mk.gps_position.act_gps_format=(byte)val; |
break; |
case SETTINGS_POS_SPEED_FORMAT: |
canvas.mk.gps_position.act_speed_format=(byte)val; |
break; |
case SETTINGS_POS_EXTERN_NICK: |
default_extern_control[EXTERN_CONTROL_NICK]=(byte)val; |
break; |
case SETTINGS_POS_EXTERN_ROLL: |
default_extern_control[EXTERN_CONTROL_ROLL]=(byte)val; |
break; |
case SETTINGS_POS_EXTERN_GIER: |
default_extern_control[EXTERN_CONTROL_GIER]=(byte)val; |
break; |
case SETTINGS_POS_EXTERN_GAS: |
default_extern_control[EXTERN_CONTROL_GAS]=(byte)val; |
break; |
case SETTINGS_POS_EXTERN_HIGHT: |
default_extern_control[EXTERN_CONTROL_HIGHT]=(byte)val; |
break; |
|
if ((pos==SETTINGS_POS_BITFIELD1)&&((val&2)==0)&&(do_scrollbg)) |
{ |
do_scrollbg=false; |
canvas.load_skin_images(); |
} |
case SETTINGS_POS_KEY_BACK: |
key_back=val; |
break; |
case SETTINGS_POS_KEY_FULL: |
key_fullscreen=val; |
break; |
case SETTINGS_POS_KEY_CLEAR: |
key_clear=val; |
break; |
case SETTINGS_POS_CAMSTICK: |
remote_cam_stick=val; |
break; |
|
|
if (pos==SETTINGS_POS_BITFIELD1) |
do_sound=((val&4)!=0); |
case SETTINGS_POS_LANG: |
canvas.act_lang=(byte)val; |
canvas.load_strings(); |
break; |
|
if (pos==SETTINGS_POS_BITFIELD1) |
do_vibra=((val&8)!=0); |
case SETTINGS_POS_SKIN: |
act_skin=(byte)val; |
canvas.load_skin_images(); |
break; |
|
if (pos==SETTINGS_POS_BITFIELD1) |
expert_mode=((val&16)!=0); |
|
if (pos==SETTINGS_POS_BITFIELD1) |
keep_lighton=((val&32)!=0); |
|
if (pos==SETTINGS_POS_BITFIELD1) |
graph_legend=((val&64)!=0); |
|
if (pos==SETTINGS_POS_BITFIELD1) |
graph_scale=((val&128)!=0); |
|
|
|
if (pos==SETTINGS_POS_GPS_FORMAT) |
canvas.mk.gps_position.act_gps_format=(byte)val; |
|
if (pos==SETTINGS_POS_SPEED_FORMAT) |
canvas.mk.gps_position.act_speed_format=(byte)val; |
|
if (pos==SETTINGS_POS_EXTERN_NICK) |
default_extern_control[EXTERN_CONTROL_NICK]=(byte)val; |
|
if (pos==SETTINGS_POS_EXTERN_ROLL) |
default_extern_control[EXTERN_CONTROL_ROLL]=(byte)val; |
|
if (pos==SETTINGS_POS_EXTERN_GIER) |
default_extern_control[EXTERN_CONTROL_GIER]=(byte)val; |
|
if (pos==SETTINGS_POS_EXTERN_GAS) |
default_extern_control[EXTERN_CONTROL_GAS]=(byte)val; |
|
if (pos==SETTINGS_POS_EXTERN_HIGHT) |
default_extern_control[EXTERN_CONTROL_HIGHT]=(byte)val; |
|
|
if (pos==SETTINGS_POS_KEY_BACK) |
key_back=val; |
|
if (pos==SETTINGS_POS_KEY_FULL) |
key_fullscreen=val; |
|
if (pos==SETTINGS_POS_KEY_CLEAR) |
key_clear=val; |
|
if (pos==12) |
remote_cam_stick=val; |
|
|
if(pos==SETTINGS_POS_VOICEVOLUME) |
{ |
voice_volume=val; |
case SETTINGS_POS_VOICEVOLUME: |
|
voice_volume=val; |
//#if voice_mode!="no_voice" |
canvas.status_voice.volume=voice_volume; |
canvas.status_voice.volume=voice_volume; |
|
//#endif |
} |
if(pos==SETTINGS_POS_VOICEDELAY) |
{ |
voice_delay=val; |
break; |
|
case SETTINGS_POS_VOICEDELAY: |
voice_delay=val; |
//#if voice_mode!="no_voice" |
canvas.status_voice.delay=voice_delay; |
canvas.status_voice.delay=voice_delay; |
|
//#endif |
} |
break; |
|
if (pos==SETTINGS_POS_BITFIELD2) |
do_volts_sound=((val&1)!=0); |
|
if (pos==SETTINGS_POS_BITFIELD2) |
reload_settings=((val&2)!=0); |
case SETTINGS_POS_PRIMARYABO: |
canvas.mk.primary_abo=val; |
break; |
case SETTINGS_POS_SECONDARYABO: |
canvas.mk.secondary_abo=val; |
break; |
case SETTINGS_POS_DEFAULTABO: |
canvas.mk.default_abo=val; |
break; |
|
if (pos==SETTINGS_POS_BITFIELD2) |
do_altimeter_sound=((val&4)!=0); |
} |
|
if (new_fullscreen!=fullscreen) |
{ |
fullscreen=new_fullscreen; |
canvas.setFullScreenMode(fullscreen); |
} |
|
if (pos==SETTINGS_POS_BITFIELD2) |
horizon_invert_roll=((val&8)!=0); |
|
if (pos==SETTINGS_POS_BITFIELD2) |
horizon_invert_nick=((val&16)!=0); |
if (new_do_scrollbg!=do_scrollbg) |
{ |
do_scrollbg=new_do_scrollbg; |
canvas.load_skin_images(); |
} |
|
if (pos==SETTINGS_POS_BITFIELD2) |
horizon_display_flytime=((val&32)!=0); |
|
if (pos==SETTINGS_POS_BITFIELD2) |
horizon_display_altitude=((val&64)!=0); |
|
if (pos==SETTINGS_POS_BITFIELD2) |
dev_mode=((val&128)!=0); |
|
|
if (pos==SETTINGS_POS_BITFIELD3) |
instant_error_show=((val&1)!=0); |
|
/* |
/* snippet to extract default fields |
|
String ts=""; |
for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
ts+=","+settings_field[i]; |
275,15 → 273,15 |
|
System.out.println(ts); |
*/ |
} |
catch (Exception e) { } |
|
|
} |
|
public int[] plain_defaults={0,0,0,0,42,42,42,1,1,-4242,-4242,-4242,0,10,0,0,7,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
public int[] fancy_defaults={0,255,0,0,42,42,42,1,1,-4242,-4242,-4242,150,10,5,0,7,1,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
public int[] plain_defaults={0,0,0,0,42,42,42,1,1,-4242,-4242,-4242,0,10,0,0,7,0,7,0,10,30,1000}; |
public int[] fancy_defaults={0,255,0,0,42,42,42,1,1,-4242,-4242,-4242,150,10,5,0,7,1,10,0,1,3,100}; |
|
|
|
public void process_all_settings() |
{ |
for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
305,14 → 303,9 |
public byte[] default_extern_control;//=default_extern_keycontrol ; |
|
|
/* end of all settings hold here */ |
public int[] _tab_stringids={STRINGID_USERINTERFACE,STRINGID_UNITS,STRINGID_KEYCONTROL,STRINGID_SPECIALKEYS,STRINGID_GRAPH,STRINGID_SOUND,STRINGID_COCKPIT,STRINGID_TIMING,STRINGID_OTHER}; |
|
// public String[] _tab_names={"User Interface","GPS","Keycontrol","Special Keys","Graph","Voice","Other" }; |
|
|
public int[] _tab_stringids={STRINGID_USERINTERFACE,STRINGID_UNITS,STRINGID_KEYCONTROL,STRINGID_SPECIALKEYS,STRINGID_GRAPH,STRINGID_SOUND,STRINGID_COCKPIT,STRINGID_OTHER}; |
|
|
public int[][] _field_stringids ={ |
{ |
STRINGID_LANGUAGE, |
319,9 → 312,10 |
STRINGID_SKIN, |
STRINGID_FULLSCREEN, |
STRINGID_SCROLLBG |
//#if devicecontrol=="on" |
//#if devicecontrol=="on" |
,STRINGID_PERMALIGHT |
//#endif |
//#endif |
,STRINGID_BIGFONTS |
}, |
{STRINGID_SPEEDFORMAT,STRINGID_GPSFORMAT}, |
{STRINGID_NICK ,STRINGID_ROLL,STRINGID_GIER,STRINGID_GASINCREASE,STRINGID_HEIGHTINCREASE }, |
329,12 → 323,13 |
{STRINGID_LEGEND,STRINGID_SCALEGRID,STRINGID_GRAPHINTERVAL}, |
{STRINGID_SOUND,STRINGID_VOLTS,STRINGID_DELAYINS,STRINGID_ALTIMETER,STRINGID_ALTSTEPS,STRINGID_VOLUME}, |
{STRINGID_SHOWALTITUDE,STRINGID_SHOWFLIGHTTIME,STRINGID_INVERTROLL,STRINGID_INVERTNICK}, |
{STRINGID_PRIMARYABO,STRINGID_SECONDARYABO,STRINGID_DEFAULTABO}, //// |
{STRINGID_INSTANTERRORSHOW,STRINGID_VIBRA,STRINGID_REMOTECAMSTICK,STRINGID_ALWAYSRELOADPARAMS,STRINGID_EXPERTMODE,STRINGID_DEVMODE}}; |
|
|
|
|
public int[][] _choice_stringids={ {STRINGID_LANG0,STRINGID_LANG1}, /* FIXME - make dynamic */{ STRINGID_DARK,STRINGID_LIGHT } , {STRINGID_KMH,STRINGID_MPH,STRINGID_CMS},{STRINGID_DECIMAL,STRINGID_MINSEC} } ; |
public int[][] _choice_stringids={ {STRINGID_LANG0,STRINGID_LANG1,STRINGID_LANG2}, /* FIXME - make dynamic */{ STRINGID_DARK,STRINGID_LIGHT } , {STRINGID_KMH,STRINGID_MPH,STRINGID_CMS},{STRINGID_DECIMAL,STRINGID_MINSEC} } ; |
|
|
|
341,28 → 336,30 |
public int[][] _field_positions= { |
{SETTINGS_POS_LANG,SETTINGS_POS_SKIN,8,9 |
//#if devicecontrol=="on" |
|
,13 |
//#endif |
} , {2,3 } , {4,5,6,7,8} , {9,10,11},{SETTINGS_POS_BITFIELD1*8 +6,SETTINGS_POS_BITFIELD1*8 +7, SETTINGS_POS_GRAPHINTERVAL} , |
{10,SETTINGS_POS_BITFIELD2*8+0,SETTINGS_POS_VOICEDELAY,SETTINGS_POS_BITFIELD2*8+2,SETTINGS_POS_ALTSTEPS,SETTINGS_POS_VOICEVOLUME }, |
, SETTINGS_POS_BITFIELD3*8+2 |
} , {2,3} , {4,5,6,7,8} , {9,10,11},{SETTINGS_POS_BITFIELD1*8 +6,SETTINGS_POS_BITFIELD1*8 +7, SETTINGS_POS_GRAPHINTERVAL} , |
{SETTINGS_POS_BITFIELD1*8+2,SETTINGS_POS_BITFIELD2*8+0,SETTINGS_POS_VOICEDELAY,SETTINGS_POS_BITFIELD2*8+2,SETTINGS_POS_ALTSTEPS,SETTINGS_POS_VOICEVOLUME }, |
{SETTINGS_POS_BITFIELD2*8+6,SETTINGS_POS_BITFIELD2*8+5,SETTINGS_POS_BITFIELD2*8+3,SETTINGS_POS_BITFIELD2*8+4}, |
{SETTINGS_POS_BITFIELD3*8+0,SETTINGS_POS_BITFIELD1*8+3,12,SETTINGS_POS_BITFIELD2*8+1,SETTINGS_POS_BITFIELD1*8+4,SETTINGS_POS_BITFIELD2*8+7} |
|
{SETTINGS_POS_PRIMARYABO,SETTINGS_POS_SECONDARYABO,SETTINGS_POS_DEFAULTABO}, |
{SETTINGS_POS_BITFIELD3*8+0,SETTINGS_POS_BITFIELD1*8+3,SETTINGS_POS_CAMSTICK,SETTINGS_POS_BITFIELD2*8+1,SETTINGS_POS_BITFIELD1*8+4,SETTINGS_POS_BITFIELD2*8+7} |
}; |
public int[][] _field_types={ {PARAMTYPE_CHOICE+0,PARAMTYPE_CHOICE+1,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH |
//#if devicecontrol=="on" |
,PARAMTYPE_BITSWITCH |
//#endif |
,PARAMTYPE_BITSWITCH |
} , {PARAMTYPE_CHOICE+2,PARAMTYPE_CHOICE+3} , {PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, {PARAMTYPE_KEY,PARAMTYPE_KEY,PARAMTYPE_KEY} , {PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE}, |
{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE,PARAMTYPE_BITSWITCH,PARAMTYPE_BYTE,PARAMTYPE_BYTE} , |
{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH}, |
{PARAMTYPE_BYTE,PARAMTYPE_BYTE,PARAMTYPE_BYTE}, |
{PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_STICK,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH,PARAMTYPE_BITSWITCH} |
}; |
DUBwiseCanvas canvas; |
|
|
|
public final static int SETTINGS_FIELD_LENGTH=42; |
public DUBwiseSettings(DUBwiseCanvas _canvas) |
{ |
canvas= _canvas; |
369,16 → 366,7 |
settings_field=new int[SETTINGS_FIELD_LENGTH]; |
default_extern_control=new byte[11]; |
// set defaults |
settings_field[4]=42; // nick |
settings_field[5]=42; // roll |
settings_field[6]=42; // gier |
settings_field[7]=1; // gas |
settings_field[8]=1; // hight |
|
settings_field[9]=-4242; // no key |
settings_field[10]=-4242; // no key |
settings_field[11]=-4242; // no key |
|
settings_field=plain_defaults; |
} |
|
public void load() |
385,8 → 373,6 |
{ |
tab_stringids=_tab_stringids; |
|
// tab_names=_tab_names; |
|
field_positions=_field_positions; |
field_types=_field_types; |
|
393,44 → 379,34 |
choice_stringids=_choice_stringids; |
|
field_stringids=_field_stringids; |
//choice_strings=new String[_choice_strings.length+1][]; |
/* |
// FIXME |
choice_strings[0]=new String[2]; |
choice_strings[0][0]="English"; |
choice_strings[0][1]="Deutsch"; |
for ( int i=1; i<_choice_strings.length+1;i++) |
{ |
choice_strings[i]=new String[_choice_strings[i-1].length+1]; |
for ( int ii=0; ii<_choice_strings[i-1].length;ii++) |
choice_strings[i][ii]=canvas.l(_choice_strings[i-1][ii]); |
} |
*/ |
// choice_strings=_choice_strings; |
|
try |
{ |
RecordStore recStore = RecordStore.openRecordStore(RECORD_STORE_NAME , true ); |
RecordStore recStore= RecordStore.openRecordStore(RECORD_STORE_NAME, false); |
|
if (recStore.getNumRecords()==1) |
{ |
ByteArrayInputStream bin = new ByteArrayInputStream(recStore.getRecord(1)); |
DataInputStream din = new DataInputStream( bin ); |
|
DataInputStream din = new DataInputStream( new ByteArrayInputStream(recStore.getRecord(1)) ); |
|
connection_url=din.readUTF(); |
connection_name=din.readUTF(); |
// reserve utf's |
din.readUTF(); |
din.readUTF(); |
din.readUTF(); |
byte str_count=din.readByte(); |
|
for (int str_i=0;str_i<str_count;str_i++) |
switch(str_i) |
{ |
case 0: |
connection_url=din.readUTF(); |
break; |
case 1: |
connection_name=din.readUTF(); |
break; |
} |
|
byte field_count=din.readByte(); |
for (int field_i=0;field_i<field_count;field_i++) |
settings_field[field_i]=din.readInt(); |
|
|
for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
settings_field[i]=din.readInt(); |
|
for ( int i=0;i<5;i++) |
|
{ |
act_proxy_ip[i]=din.readInt(); |
act_conn_ip[i]=din.readInt(); |
464,16 → 440,14 |
ByteArrayOutputStream bout = new ByteArrayOutputStream(); |
DataOutputStream dout = new DataOutputStream( bout ); |
|
dout.writeByte(2); |
dout.writeUTF(connection_url); |
dout.writeUTF(connection_name); |
|
dout.writeUTF(""); |
dout.writeUTF(""); |
dout.writeUTF(""); |
|
|
dout.writeByte(SETTINGS_FIELD_LENGTH); |
for ( int i=0;i<SETTINGS_FIELD_LENGTH;i++) |
dout.writeInt(settings_field[i]); |
|
for ( int i=0;i<5;i++) |
{ |
dout.writeInt(act_proxy_ip[i]); |