/* 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