Changes tabbed layout for adding events into single tab with scrollview
[unical.git] / src / ro / ieval / unical / AddEventActivity.java
index 512b6895e786523fc597a19e88c6f6ddfc1cdc94..5d1c1c133f4b88344b2fe4b85bfabf9a250d1fc7 100644 (file)
@@ -1,5 +1,7 @@
 package ro.ieval.unical;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
+import java.util.Date;
 import java.util.GregorianCalendar;
 
 import android.app.ActionBar;
@@ -16,11 +18,60 @@ import android.view.MenuItem;
 import android.view.View;
 import android.widget.*;
 
-//TODO if i want to add a new event after i edit one the fields are being filled with the last event data
-
 public final class AddEventActivity extends Activity implements OnDateSetListener, OnTimeSetListener{
+
+    private class OnCheckedChangeListener implements android.widget.CompoundButton.OnCheckedChangeListener{
+        private final LinearLayout layout;
+        public OnCheckedChangeListener(final LinearLayout layout){
+            this.layout=layout;
+        }
+
+        private class OnItemSelectedListener implements android.widget.AdapterView.OnItemSelectedListener{
+            private final View repeatCount;
+            private final View repeatUntil;
+
+            public OnItemSelectedListener(final View repeatCount, final View repeatUntil) {
+                this.repeatCount=repeatCount;
+                this.repeatUntil=repeatUntil;
+            }
+
+            @Override
+            public void onItemSelected(final AdapterView<?> whatever, final View ignored, final int pos, final long id) {
+                switch(pos){
+                    case 0:
+                        repeatCount.setVisibility(View.GONE);
+                        repeatUntil.setVisibility(View.GONE);
+                        break;
+                    case 1:
+                        repeatCount.setVisibility(View.GONE);
+                        repeatUntil.setVisibility(View.VISIBLE);
+                        break;
+                    case 2:
+                        repeatCount.setVisibility(View.VISIBLE);
+                        repeatUntil.setVisibility(View.GONE);
+                        break;
+                    default:
+                }
+            }
+
+            @Override public void onNothingSelected(final AdapterView<?> arg0) { /* do nothing */      }
+        }
+
+        @Override
+        public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
+            if(isChecked) {
+                Utils.setEnabledRecursively(layout, true);
+                final Spinner repeatType = (Spinner) findViewById(R.id.repeat_type);
+                repeatType.setOnItemSelectedListener(new OnItemSelectedListener(findViewById(R.id.repeat_count),findViewById(R.id.repeat_until)));
+            }else {
+                Utils.setEnabledRecursively(layout, false);
+            }
+        }
+    }
+
        private TextView dateTimeTextView;
     public static final String EXTRA_EVENT = "event";
+    private Event event;
 
     public static void editEvent(final Context c, final Event e) {
         final Intent i = new Intent(c,AddEventActivity.class);
@@ -33,38 +84,38 @@ public final class AddEventActivity extends Activity implements OnDateSetListene
        protected void onCreate(final Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setTitle(R.string.add_event_title);
-               final Event event = getIntent().hasExtra(EXTRA_EVENT) ? (Event) getIntent().getParcelableExtra(EXTRA_EVENT) : new Event();
+               event = getIntent().hasExtra(EXTRA_EVENT) ? (Event) getIntent().getParcelableExtra(EXTRA_EVENT) : new Event();
                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));
-
-               final Fragment f1 = new TrivialFragment();
-               final Bundle b1=new Bundle();
-               b1.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_basic_tab);
-        b1.putParcelable(TrivialFragment.ARGUMENT_EVENT, event);
-               f1.setArguments(b1);
-
-               final Fragment f2 = new TrivialFragment();
-               final Bundle b2=new Bundle();
-               b2.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_details_tab);
-        b2.putParcelable(TrivialFragment.ARGUMENT_EVENT, event);
-               f2.setArguments(b2);
-
-               final Fragment f3 = new TrivialFragment();
-               final Bundle b3=new Bundle();
-               b3.putInt(TrivialFragment.ARGUMENT_LAYOUT, R.layout.add_event_other_tab);
-        b3.putParcelable(TrivialFragment.ARGUMENT_EVENT, event);
-               f3.setArguments(b3);
-
-               t1.setTabListener(new AddEventTabListener(f1, event, 0));
-               t2.setTabListener(new AddEventTabListener(f2, event, 1));
-               t3.setTabListener(new AddEventTabListener(f3, event, 2));
-
-               actionBar.addTab(t1);
-               actionBar.addTab(t2);
-               actionBar.addTab(t3);
+               setContentView(R.layout.add_event);
+
+        if(getIntent().hasExtra(EXTRA_EVENT)) {
+            final LinearLayout layout = (LinearLayout) findViewById(R.id.repeat_layout);
+            final Switch repeatSwitch = (Switch) findViewById(R.id.repeat_switch);
+            Utils.setEnabledRecursively(layout, false);
+
+            repeatSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(layout));
+
+            EditText title = (EditText) findViewById(R.id.eventtitle);
+            title.setText(event.title);
+
+            TextView tstart = (TextView) findViewById(R.id.time_start);
+            TextView tend = (TextView) findViewById(R.id.time_end);
+            SimpleDateFormat sf=new SimpleDateFormat("HH:mm");
+            Date d=new Date(event.dtstart);
+            tstart.setText(sf.format(d).toString());
+            d.setTime(event.dtend);
+            tend.setText(sf.format(d).toString());
+
+            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
+            TextView dstart = (TextView)findViewById(R.id.date_start);
+            TextView dend = (TextView)findViewById(R.id.date_end);
+            d.setTime(event.dtstart);
+            dstart.setText(sd.format(d).toString());
+            d.setTime(event.dtend);
+            dend.setText(sd.format(d).toString());
+            EditText description = (EditText) findViewById(R.id.description);
+            description.setText(event.description);
+        }
        }
 
        @Override
@@ -81,7 +132,8 @@ public final class AddEventActivity extends Activity implements OnDateSetListene
                                finish();
                                return true;
             case R.id.save:
-                //TODO Save event
+                System.out.println("MuieLaComisie\n"+event.title);
+
                 Toast toast = Toast.makeText(getApplicationContext(),"Event saved!",Toast.LENGTH_LONG);
                 toast.show();
                 finish();
This page took 0.013047 seconds and 4 git commands to generate.