/*
 * @(#)ExportDialog.java
 *
 * Copyright 2001 Nomura Research Institute, LTD. All rights reserved.
 *
 * RID-X : ExportDialog
 *
 * @author  Intelligent Technology Inc.
 * @version 1.01 2001/11/07
 */
package jp.co.nri.rid.export;

import java.io.*;
import java.util.*;
import java.text.*;
import java.net.URL;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

/**
 * Rid Export Dialog
 */
public class ExportDialog extends JDialog {

    public JFrame mFrame;
    public String mDialogName ;
    public boolean mIsOK = false ;
    protected JComponent mComponent = null ;
    protected JButton    mOk     = null ;

    /**
      * コンストラクタ
      * @param app     アプリケーション
      * @param szName  ダイアログ名
      */
      public ExportDialog(JFrame frame, String title) {

          super(frame, false);

          // アプリケーションの設定
          mFrame      = frame ;
          mDialogName = title;

          //タイトル表示
          setTitle();
          setLayout();
      }

    /**
      * モーダル実行
      */
    public boolean doModal() {
      setModal(true);

      // 画面中央に表示する
      pack();
      Dimension dim = getToolkit().getScreenSize();
      setLocation( dim.width/2 - getWidth()/2, dim.height/2 - getHeight()/2 );
      
      //画面表示
      show();
  
      // OKボタンが押されたか？
      return isOK() ;
    }

    /**
      * OKボタンが押されたか？
      */
    public boolean isOK() {
      return mIsOK;
    }

  //## ウィンドウ設定 ###############################################
  /**
     * タイトルの表示,アイコンの表示
   */
  protected void setTitle() {
    // タイトルの表示
    setTitle( mDialogName );
  }

  /**
   * ダイアログの終了
   * ×ボタンが押されたときに呼び出される。
   */
  public void hide() {
    super.hide();
  }

  public void setLayout(){
      
  }


    //## アクション ###################################################
    /**
      * 「OK」ボタン
      */
      public void onOK() {
        mIsOK = true;
        setVisible(false);
      }

    /**
      * 画面設定
      * @param szItem ボタン項目
      */
      public void setControlPanel(JComponent cmp) {

          JPanel control = createControlPanel();

          getContentPane().setLayout(new BorderLayout());
          getContentPane().add(cmp,     BorderLayout.CENTER );
          getContentPane().add(control, BorderLayout.SOUTH );
      }

    /**
      * 画面設定
      * @param szItem ボタン項目
      */
      public JPanel createControlPanel() {

          JPanel  panel     = new JPanel();

          mOk     = new JButton("Ok");
          mOk.addActionListener(
              new ActionListener() {
                  public void actionPerformed(ActionEvent e) { onOK(); }
              }
          );
          panel.add( mOk );
          return panel;
      }


  //## プロパティ取得 ###############################################

  /**
     * ダイアログ名の取得
   */
  public String getDialogName() {
      return mDialogName;
  }

  /**
   * OKボタンの取得
   */
  public JButton getOKButton() {
  return mOk;
  }

  /**
   * OKボタンの文字設定
   */
  public void setOkText(String value) {
      mOk.setText(value);
  }

  /**
   * OKボタンの文字設定
   */
  public String getOkText() {
      return mOk.getText();
  }

  /**
     * コンポーネントの取得
   */
  public JComponent getComponent() {
  return mComponent;
  }

}

