/* Copyright (c) 2001-2005 Todd C. Stellanova, rawthought * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. * * * * */ // Expand to define MIDP define //#define DMIDP20 // Expand to define DJSR75 define //#define DNOJSR75 // Expand to define logging define //#define DNOLOGGING //#ifdef DJSR75 //@ //@package org.kablog.kgui; //@ //@import javax.microedition.lcdui.*; //@import javax.microedition.midlet.MIDlet; //@ //@import com.substanceofcode.rssreader.presentation.RssReaderMIDlet; //@ //#ifdef DLOGGING //@import net.sf.jlogmicro.util.logging.Logger; //@import net.sf.jlogmicro.util.logging.LogManager; //@import net.sf.jlogmicro.util.logging.Level; //@import net.sf.jlogmicro.util.logging.FormHandler; //@import net.sf.jlogmicro.util.logging.RecStoreHandler; //#endif //@ //@/** //@ * //@ * @author Todd C. Stellanova //@ */ //@public class KFileSelectorMgr //@implements KViewParent //@{ //@ //@ protected RssReaderMIDlet midlet; //@ protected Form txtFrm; //@ protected TextField txtFld; //@ protected KFileSelector fileSelectorView; //@ protected KViewParent viewParent; //@ protected boolean ready = false; //@ protected boolean bDebug; //#ifdef DLOGGING //@ private Logger logger = Logger.getLogger("KFileSelectorMgr"); //@ private boolean fineLoggable = logger.isLoggable(Level.FINE); //@ private boolean finerLoggable = logger.isLoggable(Level.FINER); //@ private boolean finestLoggable = logger.isLoggable(Level.FINEST); //#endif //@ //@ /** //@ * When the we're is done capturing an XML or multi-media, it calls this //@ method. //@ */ //@ final public void childFinished(KViewChild child) { //@ try { //@ if (fileSelectorView.getSelectedURL() != null) { //@ txtFld.setString(fileSelectorView.getSelectedURL()); //@ } //@ fileSelectorView.doCleanup(); //@ fileSelectorView = null; //#ifdef DMIDP20 //@ midlet.setCurrentItem( txtFld ); //#else //@ midlet.setCurrent( txtFrm ); //#endif //@ } catch (Throwable t) { //#ifdef DLOGGING //@ logger.severe("Sort dates error.", t); //#endif //@ System.out.println("Sort dates error." + t + " " + //@ t.getMessage()); //@ t.printStackTrace(); //@ } //@ } //@ //@ /* Start the file selector list. */ //@ final public void doLaunchSelector(RssReaderMIDlet midlet, Form txtFrm, TextField txtFld) { //@ //@ System.out.println("doLaunchSelector..."); //@ this.midlet = midlet; //@ this.txtFrm = txtFrm; //@ this.txtFld = txtFld; //@ //@ fileSelectorView = null; //@ //@ try { //@ fileSelectorView = KFileSelectorFactory.getInstance( //@ midlet, "Find import file", null, "/icons" ); //@ fileSelectorView.setViewParent(this); //@ Display.getDisplay(midlet).setCurrent((List)fileSelectorView); //@ } //@ catch (Exception ex) //@ { //@ if (bDebug) System.out.println("### selector fail: " + ex); //@ } //@ //@ }//doLaunchSelector //@ //@ /** We've updated the child's status. //@ */ //@ final public void childStatusChanged(KViewChild child, int statusType, int status) { //@ if (bDebug) System.out.println("Child status changed: " + status); //@ } //@ //@ /** @param newView object o make visible, if possible. //@ */ //@ final public void reqSetVisible(Displayable newView) { //@ if (viewParent != null) { //@ viewParent.reqSetVisible(newView); //@ } else { //@ Display.getDisplay(midlet).setCurrent(newView); //@ } //@ } //@ //@ /** @param The callback client interested in receiving finished status. //@ */ //@ final public void setViewParent(KViewParent parent) { //@ this.viewParent = parent; //@ } //@ //@ /** //@ Display a debug message somehow //@ */ //@ final public void displayDbgMsg(String msg, AlertType type) { //@ if (bDebug) System.out.println("dbgMsg: " + msg); //@ } //@ //@ /* Add a deferred action. This is either passed on to our parent or //@ run as a thread now. */ //@ final public void addDeferredAction(Runnable runny) //@ { //@ if (viewParent != null) { //@ viewParent.addDeferredAction(runny); //@ } else { //@ new Thread(runny).start(); //@ } //@ } //@ //@} //#endif