// Path: bst/src/main/java/ru/redsolution/dialogs/AcceptAndDeclineDialogListener.java
// public interface AcceptAndDeclineDialogListener extends AcceptDialogListener {
// 
// 	/**
// 	 * Request was declined. "No" button was pushed.
// 	 */
// 	void onDecline(DialogBuilder dialogBuilder);
// }
// 
// Path: bst/src/main/java/ru/redsolution/dialogs/CursorChoiceDialogBuilder.java
// public class CursorChoiceDialogBuilder extends DialogBuilder implements
// 		DialogInterface.OnClickListener, OnCancelListener {
// 	protected final AcceptAndDeclineDialogListener listener;
// 	protected final Cursor cursor;
// 	protected String checkedId;
// 
// 	/**
// 	 * @param activity
// 	 * @param dialogId
// 	 * @param listener
// 	 * @param cursor
// 	 * @param checkedId
// 	 * @param labelColumn
// 	 */
// 	public CursorChoiceDialogBuilder(Activity activity, int dialogId,
// 			AcceptAndDeclineDialogListener listener, Cursor cursor,
// 			String checkedId, String labelColumn) {
// 		super(activity, dialogId);
// 		this.listener = listener;
// 		this.cursor = cursor;
// 		this.checkedId = null;
// 		int checkedItem = -1;
// 		if (cursor.moveToFirst()) {
// 			int index = 0;
// 			do {
// 				if (cursor.getString(cursor.getColumnIndex(BaseColumns._ID))
// 						.equals(checkedId)) {
// 					this.checkedId = checkedId;
// 					checkedItem = index;
// 					break;
// 				}
// 				index++;
// 			} while (cursor.moveToNext());
// 		}
// 		setSingleChoiceItems(cursor, checkedItem, labelColumn, this);
// 		setOnCancelListener(this);
// 	}
// 
// 	@Override
// 	public void onClick(DialogInterface dialog, int id) {
// 		if (cursor.moveToPosition(id)) {
// 			checkedId = cursor
// 					.getString(cursor.getColumnIndex(BaseColumns._ID));
// 		} else {
// 			throw new IllegalStateException();
// 		}
// 		dialog.dismiss();
// 		listener.onAccept(this);
// 	}
// 
// 	/**
// 	 * Возвращает идентификатор в базе для выбранного элемента.
// 	 * 
// 	 * @return <code>null</code> если нет выбранного элемента.
// 	 */
// 	public String getCheckedId() {
// 		return checkedId;
// 	}
// 
// 	@Override
// 	public void onCancel(DialogInterface dialog) {
// 		dialog.dismiss();
// 		listener.onDecline(this);
// 	}
// 
// }


import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import ru.redsolution.bst.R;
import ru.redsolution.dialogs.AcceptAndDeclineDialogListener;
import ru.redsolution.dialogs.CursorChoiceDialogBuilder;
import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.view.View;
import android.widget.HeaderViewListAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.ListView.FixedViewInfo;
/**
 * Copyright (c) 2013, Redsolution LTD. All rights reserved.
 *
 * This file is part of Barcode Scanner Terminal project;
 * you can redistribute it and/or modify it under the terms of
 *
 * Barcode Scanner Terminal 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 this program. If not, see http://www.gnu.org/licenses/.
 */
package ru.redsolution.bst.ui.dialog;



/**
 * Диалог с возможностью выбрать один из пунктов курсора либо убрать значение.
 * 
 * @author alexander.ivanov
 * 
 */
public class CursorEmptyChoiceDialogBuilder extends CursorChoiceDialogBuilder {

	private HeaderViewListAdapter adapter;

	public CursorEmptyChoiceDialogBuilder(Activity activity, int dialogId,
// Path: bst/src/main/java/ru/redsolution/dialogs/AcceptAndDeclineDialogListener.java
// public interface AcceptAndDeclineDialogListener extends AcceptDialogListener {
// 
// 	/**
// 	 * Request was declined. "No" button was pushed.
// 	 */
// 	void onDecline(DialogBuilder dialogBuilder);
// }
// 
// Path: bst/src/main/java/ru/redsolution/dialogs/CursorChoiceDialogBuilder.java
// public class CursorChoiceDialogBuilder extends DialogBuilder implements
// 		DialogInterface.OnClickListener, OnCancelListener {
// 	protected final AcceptAndDeclineDialogListener listener;
// 	protected final Cursor cursor;
// 	protected String checkedId;
// 
// 	/**
// 	 * @param activity
// 	 * @param dialogId
// 	 * @param listener
// 	 * @param cursor
// 	 * @param checkedId
// 	 * @param labelColumn
// 	 */
// 	public CursorChoiceDialogBuilder(Activity activity, int dialogId,
// 			AcceptAndDeclineDialogListener listener, Cursor cursor,
// 			String checkedId, String labelColumn) {
// 		super(activity, dialogId);
// 		this.listener = listener;
// 		this.cursor = cursor;
// 		this.checkedId = null;
// 		int checkedItem = -1;
// 		if (cursor.moveToFirst()) {
// 			int index = 0;
// 			do {
// 				if (cursor.getString(cursor.getColumnIndex(BaseColumns._ID))
// 						.equals(checkedId)) {
// 					this.checkedId = checkedId;
// 					checkedItem = index;
// 					break;
// 				}
// 				index++;
// 			} while (cursor.moveToNext());
// 		}
// 		setSingleChoiceItems(cursor, checkedItem, labelColumn, this);
// 		setOnCancelListener(this);
// 	}
// 
// 	@Override
// 	public void onClick(DialogInterface dialog, int id) {
// 		if (cursor.moveToPosition(id)) {
// 			checkedId = cursor
// 					.getString(cursor.getColumnIndex(BaseColumns._ID));
// 		} else {
// 			throw new IllegalStateException();
// 		}
// 		dialog.dismiss();
// 		listener.onAccept(this);
// 	}
// 
// 	/**
// 	 * Возвращает идентификатор в базе для выбранного элемента.
// 	 * 
// 	 * @return <code>null</code> если нет выбранного элемента.
// 	 */
// 	public String getCheckedId() {
// 		return checkedId;
// 	}
// 
// 	@Override
// 	public void onCancel(DialogInterface dialog) {
// 		dialog.dismiss();
// 		listener.onDecline(this);
// 	}
// 
// }


// Path: bst/src/main/java/ru/redsolution/bst/ui/dialog/CursorEmptyChoiceDialogBuilder.java
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import ru.redsolution.bst.R;
import ru.redsolution.dialogs.AcceptAndDeclineDialogListener;
import ru.redsolution.dialogs.CursorChoiceDialogBuilder;
import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.view.View;
import android.widget.HeaderViewListAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.ListView.FixedViewInfo;

/**
 * Copyright (c) 2013, Redsolution LTD. All rights reserved.
 *
 * This file is part of Barcode Scanner Terminal project;
 * you can redistribute it and/or modify it under the terms of
 *
 * Barcode Scanner Terminal 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 this program. If not, see http://www.gnu.org/licenses/.
 */
package ru.redsolution.bst.ui.dialog;



/**
 * Диалог с возможностью выбрать один из пунктов курсора либо убрать значение.
 * 
 * @author alexander.ivanov
 * 
 */
public class CursorEmptyChoiceDialogBuilder extends CursorChoiceDialogBuilder {

	private HeaderViewListAdapter adapter;

	public CursorEmptyChoiceDialogBuilder(Activity activity, int dialogId,
			AcceptAndDeclineDialogListener listener, Cursor cursor,