/**
 * @(#)RFileChooseCEC.java
 * Copyright 2001 Nomura Research Institute, LTD. All rights reserved.
 * RID-3 : Rid File Choose Cell Editor Component
 * @author  Intelligent Technology Inc.
 * @version 1.00 2001/10/01-2002/03/26
 * @see iReloadable
 */
package	jp.co.nri.rid.table.editor;

//import	java.awt.*;
//import	java.awt.event.*;
//import	javax.swing.*;
import	java.util.*;
import java.io.*;
import java.awt.event.*;

import jp.co.nri.rid.xml.*;
import jp.co.nri.rid.table.editor.filter.*;
import jp.co.nri.Rid;
import jp.co.iti.fagot.ZApp;
import jp.co.iti.fagot.util.*;

/**
 * フォルダ内のファイルの一覧を表示し選択するセルエディタ/レンダラコンポーネント(コンボボックス)
 */
public class RFileChooseCEC extends ChooseCEC implements iReloadable{
//	protected static final String	KEY_TEMPLATE	= "rid.template.dir";
	protected static final String	KEY_TEMPLATE	= "rid.parts.dir";
	protected static final String[]	MASKS			= { "html" ,"htm" };
	
	/**
	 * @param	editable	編集可否。
	 * @param	listener	アクションリスナー。
	 * @since	1.00
	 */
	public RFileChooseCEC(boolean editable ,ActionListener listener){ super(editable ,listener); }
	
	/**
	 * リストを読み直す。
	 * @since	1.00
	 */
    public void	reload(){
		pauseCECAdapter();
		
		Vector vec = new Vector();
		String projectdir	= ZInstance.prop().getProperty(Rid.PJ_DIR);
		ZResource res		= ZApp.getTheApp().getResource();
		File templatedir	= new File(projectdir+File.separator+res.getString(KEY_TEMPLATE));
		String[] templatefiles = templatedir.list(new ExtensionFilter(MASKS));
		
		String text = text();
		
		removeAllItems();
		addItem("");
		
		if(null==templatefiles)	return;
		
		int mx = templatefiles.length;
		for(int i=0;i<mx;i++)	addItem(templatefiles[i]);
		
		text(text);
		
		playCECAdapter();
	}
}
