package uni.projecte.Activities.Thesaurus; import uni.projecte.R; import uni.projecte.R.id; import uni.projecte.R.layout; import uni.projecte.R.string; import uni.projecte.controler.ProjectControler; import uni.projecte.controler.ThesaurusControler; import uni.projecte.dataLayer.ThesaurusManager.ThesaurusListAdapter; import uni.projecte.dataTypes.Utilities; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.ListView; import android.widget.Toast; public class ThesaurusManager extends Activity { private ThesaurusControler thCnt; private ProjectControler projCnt; private ImageButton btImportRemoteTh; private ImageButton btImportPlainTh; private ListView lvThesaurusList; private ThesaurusListAdapter thListAdap; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Utilities.setLocale(this); setContentView(R.layout.thesaurus_list); thCnt=new ThesaurusControler(this); projCnt=new ProjectControler(this); btImportRemoteTh = (ImageButton)findViewById(R.id.btImportRemoteTh); btImportRemoteTh.setOnClickListener(importRemoteThListener); btImportRemoteTh.setBackgroundResource(android.R.drawable.ic_menu_add); btImportPlainTh = (ImageButton)findViewById(R.id.btImportPlainTh); btImportPlainTh.setOnClickListener(importPlainThListener); btImportPlainTh.setBackgroundResource(android.R.drawable.ic_menu_save); lvThesaurusList=(ListView)findViewById(R.id.lvThesaurusList); fillThList(); } private void fillThList(){ thListAdap=new ThesaurusListAdapter(this, thCnt.fetchAllTh(),removeThListener); lvThesaurusList.setAdapter(thListAdap); } private OnClickListener removeThListener = new OnClickListener() { public void onClick(final View v){ final String name = (String) v.getTag(); AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext()); builder.setMessage(R.string.deleteThQuestion) .setCancelable(false) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { int thUsedBy=thCnt.removeTh(name); if(thUsedBy > 1) { String text = String.format(v.getResources().getString(R.string.thUsedBySeveralProj), thUsedBy); Toast.makeText(v.getContext(),text,Toast.LENGTH_SHORT).show(); } else if(thUsedBy ==1){ String projName=projCnt.getProjNameByTh(name); String text = String.format(v.getResources().getString(R.string.thUsedByOneProj), projName); Toast.makeText(v.getContext(),text,Toast.LENGTH_SHORT).show(); } else { fillThList(); } } }) .setNegativeButton(R.string.no,new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); } }; private OnClickListener importRemoteThListener = new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(getBaseContext(), ThesaurusRemoteImport.class); startActivityForResult(intent,0); } }; private OnClickListener importPlainThListener = new OnClickListener() { public void onClick(View v){ Intent intent = new Intent(getBaseContext(), ThesaurusImport.class); startActivityForResult(intent,0); } }; @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); if(intent!=null){ switch(requestCode) { case 0 : fillThList(); break; case 1 : break; } } } }