Edit event. work in progress[2]
[unical.git] / src / ro / ieval / unical / AddEventActivity.java
index 95b66a30ef4dac9349b933e4949ac7167ca69df6..325909376b0a14c47bf5948be5fb9ef383962a9f 100644 (file)
 package ro.ieval.unical;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+import android.app.ActionBar;
 import android.app.Activity;
+import android.app.DatePickerDialog.OnDateSetListener;
+import android.app.Fragment;
+import android.app.TimePickerDialog.OnTimeSetListener;
+import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.*;
+
+public final class AddEventActivity extends Activity implements OnDateSetListener, OnTimeSetListener{
+       private TextView dateTimeTextView;
+    private static Event tempEvent=new Event();
+    public static final String EXTRA_EVENT = "event";
+    private static Fragment f1,f2,f3;
+
+    public static void editEvent(final Context c, final Event e) {
+        Intent i = new Intent(c,AddEventActivity.class);
+        i.putExtra(AddEventActivity.EXTRA_EVENT,e);
+        tempEvent=e;
+        c.startActivity(i);
+    }
+
 
-public final class AddEventActivity extends Activity {
        @Override
        protected void onCreate(final Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.add_event);
-               setTitle(R.string.addeventtitle);
+               setTitle(R.string.add_event_title);
+               final ActionBar actionBar = getActionBar();
+               actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
+               final ActionBar.Tab t1 = actionBar.newTab().setText(this.getString(R.string.addevtab1));
+               final ActionBar.Tab t2 = actionBar.newTab().setText(this.getString(R.string.addevtab2));
+               final ActionBar.Tab t3 = actionBar.newTab().setText(this.getString(R.string.addevtab3));
+
+               f1 = new TrivialFragment();
+               final Bundle b1=new Bundle();
+               b1.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_basic_tab);
+               f1.setArguments(b1);
+
+               f2 = new TrivialFragment();
+               final Bundle b2=new Bundle();
+               b2.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_details_tab);
+               f2.setArguments(b2);
+
+               f3 = new TrivialFragment();
+               final Bundle b3=new Bundle();
+               b3.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_other_tab);
+               f3.setArguments(b3);
+
+               t1.setTabListener(new AddEventTabListener(f1,tempEvent,0));
+               t2.setTabListener(new AddEventTabListener(f2,tempEvent,1));
+               t3.setTabListener(new AddEventTabListener(f3,tempEvent,2));
+
+               actionBar.addTab(t1);
+               actionBar.addTab(t2);
+               actionBar.addTab(t3);
+       }
+
+       @Override
+       public boolean onCreateOptionsMenu(final Menu menu) {
+               final MenuInflater inflater = getMenuInflater();
+               inflater.inflate(R.menu.add_event, menu);
+               return true;
+       }
+
+       @Override
+       public boolean onOptionsItemSelected(final MenuItem item) {
+               switch (item.getItemId()) {
+                       case R.id.cancel:
+                               finish();
+                               return true;
+            case R.id.save:
+                //TODO Save event
+                Toast toast = Toast.makeText(getApplicationContext(),"Event saved!",Toast.LENGTH_LONG);
+                toast.show();
+                finish();
+                return true;
+                       default:
+                               return false;
+               }
+       }
+
+    public void showDateTimePickerDialog(final View v) {
+               dateTimeTextView=(TextView) v;
+               if(v.getId()==R.id.date_start || v.getId()==R.id.date_end || v.getId() == R.id.repeat_until)
+                       new DatePickerFragment().show(getFragmentManager(), "datePicker");
+               else
+                       new TimePickerFragment().show(getFragmentManager(), "timePicker");
+       }
+
+       @Override
+       public void onTimeSet(final TimePicker picker, final int hour, final int minute) {
+               dateTimeTextView.setText(String.format("%02d:%02d",hour,minute));
+               if(dateTimeTextView.getId() == R.id.time_start)
+                       ((TextView)findViewById(R.id.time_end)).setText(String.format("%2d:%2d",hour,minute));
+       }
+
+       @Override
+       public void onDateSet(final DatePicker picker, final int year, final int monthOfYear, final int dayOfMonth) {
+               final Calendar calendar=new GregorianCalendar(year, monthOfYear, dayOfMonth);
+               dateTimeTextView.setText(Utils.formatDate(year, monthOfYear, dayOfMonth));
+               //calendar.add(Calendar.DAY_OF_MONTH, 1);
+               if(dateTimeTextView.getId() == R.id.date_start)
+                       ((TextView)findViewById(R.id.date_end)).setText(Utils.formatDate(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)));
        }
 }
This page took 0.010206 seconds and 4 git commands to generate.