/** * Copyright (C) 2012 The FreeCol-Android Team * * This file is part of FreeCol-Android. * * FreeCol-Android is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * FreeCol is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with FreeCol-Android. If not, see <http://www.gnu.org/licenses/>. */ package org.freecolandroid.ui.game; import java.util.List; import net.sf.freecol.client.gui.i18n.Messages; import net.sf.freecol.common.model.StringTemplate; import net.sf.freecol.common.model.Unit; import org.freecolandroid.R; import org.freecolandroid.repackaged.javax.swing.ImageIcon; import org.freecolandroid.ui.FreeColDialogFragment; import android.app.Dialog; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; public class EndTurnDialogFragment extends FreeColDialogFragment { private List<Unit> mUnits; private DialogListener mListener; public static EndTurnDialogFragment newInstance(List<Unit> units, DialogListener listener) { EndTurnDialogFragment f = new EndTurnDialogFragment(); f.mUnits = units; f.mListener = listener; return f; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog d = new Dialog(getActivity(), R.style.GameMenu); d.setContentView(R.layout.frag_dialog_end_turn); TextView title = (TextView) d.findViewById(R.id.title); title.setText(Messages.message("endTurnDialog.name")); StringTemplate t = StringTemplate.template("endTurnDialog.areYouSure").addAmount( "%number%", mUnits.size()); TextView message = (TextView) d.findViewById(R.id.message); message.setText(Messages.message(t)); Button okButton = (Button) d.findViewById(R.id.ok); okButton.setText(Messages.message("ok")); okButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mListener.onPositiveSelected(); dismiss(); } }); Button cancelButton = (Button) d.findViewById(R.id.cancel); cancelButton.setText(Messages.message("cancel")); cancelButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mListener.onNegativeSelected(); dismiss(); } }); ListView unitList = (ListView) d.findViewById(R.id.unit_list); unitList.setAdapter(new UnitListAdapter()); return d; } private class UnitListAdapter extends BaseAdapter { @Override public int getCount() { return mUnits.size(); } @Override public Object getItem(int position) { return mUnits.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(getActivity()).inflate(R.layout.list_item_unit, parent, false); } Unit unit = mUnits.get(position); // Unit icon ImageIcon icon = mClient.getGUI().getImageLibrary().getUnitImageIcon(unit, 1.0); ImageView unitIcon = (ImageView) convertView.findViewById(R.id.icon); unitIcon.setImageBitmap(icon.getImage().getBitmap()); // Name TextView name = (TextView) convertView.findViewById(R.id.name); name.setText(Messages.message(Messages.getLabel(unit))); // Location text TextView description = (TextView) convertView.findViewById(R.id.description); description.setText(Messages.message(unit.getLocation().getLocationName())); return convertView; } } }