/**
* This file is part of MountainNavigation.
*
* MountainNavigation 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 3 of the License, or
* (at your option) any later version.
*
* MountainNavigation 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 MountainNavigation. If not, see <http://www.gnu.org/licenses/>.
*
* @copyright Copyright (c) 2016 Vinzenz Rosenkanz <vinzenz.rosenkranz@gmail.com>
*
* @author Vinzenz Rosenkranz <vinzenz.rosenkranz@gmail.com>
*/
package de.apps4ics.mountainnavigation.pois;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import de.apps4ics.mountainnavigation.adapters.CheckboxImageAdapter;
import de.apps4ics.mountainnavigation.Features;
import de.apps4ics.mountainnavigation.MainActivity;
import de.apps4ics.mountainnavigation.R;
import de.apps4ics.mountainnavigation.handlers.PoiHandler;
public class AddBreakpointDialog extends DialogFragment {
private PoiHandler poiHandler;
public AddBreakpointDialog() {
this.poiHandler = MainActivity.getPoiHandler();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final CheckboxImageAdapter adapter = new CheckboxImageAdapter(getActivity(), PoiHandler.getBreakPointOptions(), null, PoiHandler.getBreakPointOptionsImgs());
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.break_point_dialog_title)
//.setIcon(res.getDrawable(R.drawable.break_point))
.setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int[] options = adapter.getCheckedItems();
int stone = 0;
int bench = 0;
int table = 0;
int roofed = 0;
for(int i=0; i<options.length; ++i){
switch(options[i]){
case 0:
options[i] = Features.BREAK_STONE;
stone = 1;
break;
case 1:
options[i] = Features.BREAK_BENCH;
bench = 1;
break;
case 2:
options[i] = Features.BREAK_TABLE;
table = 1;
break;
case 3:
options[i] = Features.BREAK_ROOFED;
roofed = 1;
break;
}
}
poiHandler.addPoi(new BreakPoint(0, stone, bench, table, roofed, null));
}
})
.setNegativeButton(R.string.cancel_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
return builder.create();
}
}