package net.tasksnow;
import android.app.Fragment;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import net.tasksnow.model.cards.Label;
import net.tasksnow.model.cards.Project;
import net.tasksnow.model.sqlite.DatabaseHandler;
import net.tasksnow.view.LabelListFragment;
import net.tasksnow.view.ProjectListFragment;
import net.tasksnow.view.StatisticsListFragment;
import net.tasksnow.view.TasksListFragment;
import net.tasksnow.view.slidingmenu.MenuContent;
import net.tasksnow.view.slidingmenu.MenuContent.MenuCategory;
import net.tasksnow.view.slidingmenu.MenuSectionItem;
import net.tasksnow.view.slidingmenu.MenuSubItems;
import net.tasksnow.view.slidingmenu.SlidingMenuActivity;
/**
* @author D056943
* @since 16:52:20 - 29.12.2012
* @project cFoldersDemo
*/
public class MainActivity extends SlidingMenuActivity {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
// ===========================================================
// Constructors
// ===========================================================
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
//Firstly SlidingMenuActivity is started, it calls the onGenerateListAdapter method
@Override
public MenuContent onGenerateListAdapter() {
MenuContent content = new MenuContent();
DatabaseHandler dbHandler = ((TaskNowApplication) this.getApplication()).getDbHandler();
MenuSectionItem recent = new MenuSectionItem("Recent", R.drawable.ic_action_recent, new TasksListFragment());
content.addCategory(recent);
MenuSectionItem labelSection = new MenuSectionItem("Labels", R.drawable.ic_action_labels, new LabelListFragment());
MenuCategory category = content.new MenuCategory(labelSection);
//Load the different labels as subcategory of "Labels"
for (Label label : dbHandler.getAllLabels()) {
//Creates a new TaskListFragment which is filled later by all labels which belong to the key which is put below
Fragment fragment = new TasksListFragment();
Bundle bundle = new Bundle();
bundle.putSerializable(TasksListFragment.LABEL_FILTER_KEY, label);
// bundle.putString(CardsListFragment.LABEL_FILTER_KEY, label.getValue());
fragment.setArguments(bundle);
String number = "" + dbHandler.getNumberOfTasks(label);
category.addItem(new MenuSubItems(label.getValue(), number, fragment));
}
content.addCategory(category);
MenuSectionItem projectSection = new MenuSectionItem("Projects", R.drawable.ic_action_project, new ProjectListFragment());
category = content.new MenuCategory(projectSection);
//Load the different projects as subcategory of "Projects" and shows the number of containing items
for (Project project : dbHandler.getAllProjects()) {
Fragment fragment = new TasksListFragment();
Bundle bundle = new Bundle();
bundle.putSerializable(TasksListFragment.PROJECT_FILTER_KEY, project);
fragment.setArguments(bundle);
String number = "" + dbHandler.getNumberOfTasks(project);
category.addItem(new MenuSubItems(project.getName(), number, fragment));
}
content.addCategory(category);
MenuSectionItem statistic = new MenuSectionItem("Statistics", R.drawable.ic_action_statistic, new StatisticsListFragment());
content.addCategory(statistic);
MenuSectionItem settings = new MenuSectionItem("Settings", R.drawable.ic_action_settings, null);
settings.setEnabled(false);
content.addCategory(settings);
content.setSelectedItem(recent);
return content;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// this.getMenuInflater().inflate(R.menu.mainactivity_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
}
return super.onOptionsItemSelected(item);
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}