/*
GNU General Public License
CacheWolf is a software for PocketPC, Win and Linux that
enables paperless caching.
It supports the sites geocaching.com and opencaching.de
Copyright (C) 2006 CacheWolf development team
See http://www.cachewolf.de/ for more information.
This program 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; version 2 of the License.
This program 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, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
package CacheWolf;
import CacheWolf.database.Travelbug;
import CacheWolf.database.TravelbugList;
import CacheWolf.utils.MyLocale;
import CacheWolf.view.ITravelbugScreen;
import CacheWolf.view.TravelBugScreenFactory;
import ewe.ui.InputBox;
public class TravelbugPickup {
/**
* Choose a travelbug from those listed in the travelbug list and delete it,
* if the operation was not cancelled.
*
* @param tbl
* List of travelbugs from where a bug is picked up
*/
public static Travelbug pickupTravelbug(TravelbugList tbl) {
Travelbug tb = null;
// TravelbugScreen tbs=new TravelbugScreen(tbl,MyLocale.getMsg(6016,"Pick up travelbug"),true);
ITravelbugScreen tbs = TravelBugScreenFactory.createTravelbugScreen(tbl, MyLocale.getMsg(6016, "Pick up travelbug"), new Boolean(true));
tbs.execute(); // Select TB to pick up
if (tbs.getSelectedItem() >= 0) { // Was a TB selected ?
// If the returned item is bigger than number of bugs in cache
// we have found a new unlisted bug.
if (tbs.getSelectedItem() == tbl.size()) {
InputBox ibox = new InputBox(MyLocale.getMsg(6018, "Travelbug name"));
String name = ibox.input("", 240);
if (name == null)
return null; // No name given
tb = new Travelbug(name);
} else { // A bug in the list was chosen
tb = tbl.getTB(tbs.getSelectedItem());
// Remove the tb from the list
tbl.remove(tbs.getSelectedItem());
}
InputBox ibox = new InputBox(MyLocale.getMsg(6019, "Tracking number"));
String trackingNo = ibox.input("", 240);
if (trackingNo == null)
trackingNo = "";
tb.setTrackingNo(trackingNo);
}
return tb;
}
}