Skip to content
Snippets Groups Projects
Commit 021b8f81 authored by Xavier Gibert's avatar Xavier Gibert
Browse files

local simulator remove implemented and style changed

parent c2e1a6cf
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,7 @@
<padding android:left="10dp" android:right="10dp" android:top="5dp" android:bottom="5dp"/>
<!-- <solid android:color="#2D2D2D"/> -->
<gradient
android:startColor="#2D2D2D"
android:startColor="#353535"
android:endColor="#4D4D4D"
android:angle="90" />
<stroke
......
......@@ -4,10 +4,10 @@
<padding android:left="10dp" android:right="10dp" android:top="5dp" android:bottom="5dp"/>
<!-- <solid android:color="#2D2D2D"/> -->
<gradient
android:startColor="#4D4D4D"
android:endColor="#8D8D8D"
android:startColor="#1D1D1D"
android:endColor="#2D2D2D"
android:angle="90" />
<stroke
android:width="1dp"
android:width="2dp"
android:color="#000000" />
</shape>
\ No newline at end of file
......@@ -20,7 +20,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/buttonViews"
android:id="@+id/buttonMissionNew"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:background="@drawable/view_selector"
......
......@@ -19,7 +19,7 @@
android:orientation="vertical" >
<Button
android:id="@+id/buttonViews"
android:id="@+id/buttonMissionNew"
android:layout_width="100dp"
android:layout_height="0dp"
android:layout_weight="1"
......@@ -28,7 +28,7 @@
android:textColor="@color/white" />
<Button
android:id="@+id/button2"
android:id="@+id/buttonMissionEdit"
android:layout_width="100dp"
android:layout_height="0dp"
android:layout_weight="1"
......@@ -37,7 +37,7 @@
android:textColor="@color/white" />
<Button
android:id="@+id/button3"
android:id="@+id/buttonMissionDelete"
android:layout_width="100dp"
android:layout_height="0dp"
android:layout_weight="1"
......
......@@ -52,7 +52,7 @@
android:layout_height="wrap_content" >
<Button
android:id="@+id/buttonViews"
android:id="@+id/buttonMissionNew"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:background="@drawable/view_selector"
......
......@@ -17,7 +17,7 @@
android:gravity="fill_horizontal" >
<Button
android:id="@+id/buttonViews"
android:id="@+id/buttonMissionNew"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
......@@ -26,7 +26,7 @@
android:textColor="@color/white" />
<Button
android:id="@+id/button2"
android:id="@+id/buttonMissionEdit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
......@@ -35,7 +35,7 @@
android:textColor="@color/white" />
<Button
android:id="@+id/button3"
android:id="@+id/buttonMissionDelete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
......
......@@ -60,6 +60,12 @@
<string name="dialog_ignore">Ignore</string>
<string name="dialog_continue">Continue</string>
<string name="dialog_install_message">The default models and data for the simulator have been installed in the Orekit data root:</string>
<string name="dialog_delete_title">Delete Mission</string>
<string name="dialog_delete_message">You are going to delete the mission: </string>
<string name="dialog_delete_confirm">Delete</string>
<string name="dialog_delete_cancel">Cancel</string>
<string name="basic_indicator_position">Position</string>
<string name="basic_indicator_velocity">Velocity</string>
<string name="basic_indicator_momentum">Momentum</string>
......@@ -117,6 +123,8 @@
<string name="sim_local_new">New</string>
<string name="sim_local_edit">Edit</string>
<string name="sim_local_remove">Remove</string>
<string name="sim_local_mission_not_removable">This mission cannot be deleted</string>
<string name="sim_local_select_first_a_mission">Select a mission first</string>
<string name="sim_local_simulator_connected">Simulator connected!</string>
<string name="sim_orekit_init_error">Simulator initialization error</string>
<string name="sim_orekit_prop_error">Simulator propagation error</string>
......
......@@ -6,7 +6,10 @@ import org.xwalk.core.XWalkResourceClient;
import org.xwalk.core.XWalkUIClient;
import org.xwalk.core.XWalkView;
import com.commonsware.cwac.loaderex.SQLiteCursorLoader;
import database.MissionReaderDbHelper;
import dialogs.DeleteMissionDialogFragment;
import dialogs.ErrorDialogFragment;
import dialogs.WelcomeDialogFragment;
import settings.SettingsBasicFragment;
......@@ -65,6 +68,7 @@ public class MainActivity extends ActionBarActivity implements
}
public XWalkView mXwalkView;
public MissionReaderDbHelper db_help;
public SQLiteCursorLoader loader = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -315,6 +319,7 @@ public class MainActivity extends ActionBarActivity implements
newFragment.show(getFragmentManager(), "error");
}
//XWalk
class MyResourceClient extends XWalkResourceClient {
......
package dialogs;
import cs.si.satatt.MainActivity;
import cs.si.satatt.R;
import database.MissionReaderContract.MissionEntry;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
public class DeleteMissionDialogFragment extends DialogFragment {
private static final String ARG_NAME = "mission_name";
private static final String ARG_ID = "mission_id";
public static DeleteMissionDialogFragment newInstance(int id, String name) {
DeleteMissionDialogFragment fragment = new DeleteMissionDialogFragment();
Bundle args = new Bundle();
args.putString(ARG_NAME, name);
args.putInt(ARG_ID, id);
fragment.setArguments(args);
return fragment;
}
int mission_id;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
String mis_name = getArguments().getString(ARG_NAME);
int mis_id = getArguments().getInt(ARG_ID);
mission_id = mis_id;
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(getString(R.string.dialog_delete_title))
.setMessage(getString(R.string.dialog_delete_message)+" "+mis_name)
.setCancelable(true)
.setPositiveButton(getString(R.string.dialog_delete_confirm), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Dummy
deleteMission(mission_id);
}
});
builder.setNegativeButton(getString(R.string.dialog_delete_cancel), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
// Create the AlertDialog object and return it
return builder.create();
}
private void deleteMission(int mission_id) {
// TODO Auto-generated method stub
MainActivity act = ((MainActivity)getActivity());
act.loader.delete(MissionEntry.TABLE_NAME, MissionEntry._ID+"="+mission_id, null);
}
}
......@@ -128,7 +128,7 @@ public final class HudFragment extends Fragment {
//browser.loadUrl(Parameters.Web.STARTING_PAGE);
browser.load(Parameters.Web.STARTING_PAGE,null);
views_menu = (Button) rootView.findViewById(R.id.buttonViews);
views_menu = (Button) rootView.findViewById(R.id.buttonMissionNew);
views_menu.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
......
......@@ -9,8 +9,10 @@ import cs.si.satatt.MainActivity;
import cs.si.satatt.R;
import database.MissionReaderDbHelper;
import database.MissionReaderContract.MissionEntry;
import dialogs.DeleteMissionDialogFragment;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.DialogFragment;
import android.app.LoaderManager.LoaderCallbacks;
import android.os.Bundle;
import android.app.Fragment;
......@@ -23,6 +25,7 @@ import android.database.sqlite.SQLiteDatabase;
import android.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AutoCompleteTextView;
......@@ -76,7 +79,6 @@ public final class SimulatorFragment extends Fragment implements LoaderCallbacks
AutoCompleteTextView host_view;
EditText port_view;
ListView missionsList;
private SQLiteCursorLoader loader=null;
@SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled", "NewApi" })
@Override
......@@ -104,11 +106,13 @@ public final class SimulatorFragment extends Fragment implements LoaderCallbacks
arg1.setBackgroundResource(R.drawable.mission_item_sel);
try{
activeMissionId = Integer.parseInt((String) ((TextView)arg1.findViewById(R.id.textViewMissionId)).getText());
activeMissionName=(String) ((TextView)arg1.findViewById(R.id.textViewMission)).getText();
/*Toast.makeText(getActivity().getApplicationContext(), "Active mission: "+activeMissionId,
Toast.LENGTH_LONG).show();*/
}catch(Exception e){
e.printStackTrace();
activeMissionId=-1;
activeMissionName="";
}
}
});
......@@ -168,9 +172,30 @@ public final class SimulatorFragment extends Fragment implements LoaderCallbacks
}
});
Button button_delete = (Button)rootView.findViewById(R.id.buttonMissionDelete);
button_delete.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(activeMissionId==-1){
Toast.makeText(getActivity().getApplicationContext(), getString(R.string.sim_local_select_first_a_mission), Toast.LENGTH_LONG).show();
}else if (activeMissionId==0 ||activeMissionId==1 ||activeMissionId==2 ){
Toast.makeText(getActivity().getApplicationContext(), getString(R.string.sim_local_mission_not_removable), Toast.LENGTH_LONG).show();
}else{
showDeleteMissionDialog(activeMissionId, activeMissionName);
}
}
});
return rootView;
}
public void showDeleteMissionDialog(int id, String name) {
DialogFragment newFragment = DeleteMissionDialogFragment.newInstance(id, name);
newFragment.setCancelable(true);
newFragment.show(getFragmentManager(), "delete");
}
private void restoreMissionsBackground() {
for(int i = 0; i < missionsList.getChildCount(); i++){
......@@ -251,9 +276,10 @@ public final class SimulatorFragment extends Fragment implements LoaderCallbacks
SimpleCursorAdapter adapter;
int activeMissionId = -1;
String activeMissionName = "";
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
this.loader=(SQLiteCursorLoader)loader;
((MainActivity)getActivity()).loader=(SQLiteCursorLoader)loader;
adapter.changeCursor(cursor);
if (cursor != null && cursor.getCount() > 0) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment