/*
 * @(#)EnvCheckBoxText.java
 *
 * Copyright 2001 Nomura Research Institute, LTD. All rights reserved.
 *
 * RID-X : チェックボックス付きの入力TEXT領域の作成
 *
 * @author  Intelligent Technology Inc.
 * @version 1.01 2002/01/29
 */
package jp.co.nri.rid.environment;

import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;

/**
  *チェックボックス付きの入力TEXT領域の作成
  **/
public class EnvCheckBoxText extends JPanel {

    protected JPanel      mPanel    = null;
    protected JCheckBox   mCheckBox = null;
    protected JTextField  mText     = null;

    /**
      *  チェックボックス付きの入力TEXT領域の作成
      */
    public EnvCheckBoxText(boolean selected, String value) {

        // パネルの生成
        mPanel = new JPanel();

        // Layoutを「GridBagLayout」にする
        GridBagLayout mLayout = new GridBagLayout();
        mPanel.setLayout(mLayout);

        // Layout制約の作成
        GridBagConstraints gbc = new GridBagConstraints();

        // CheckBoxの生成
        mCheckBox = new JCheckBox();
        setSelected(selected); 
        mPanel.add(mCheckBox);

        gbc.anchor  = GridBagConstraints.NORTHWEST;
        gbc.weightx = 0.0;
        gbc.gridx   = 0;
        mLayout.setConstraints(mCheckBox, gbc);


        // TextFieldの生成
        mText = new JTextField(value);
        mPanel.add(mText);

        gbc.fill    = GridBagConstraints.BOTH;
        gbc.weightx = 1.0;
        gbc.gridx   = 1;
        mLayout.setConstraints(mText, gbc);

    }


    /**
      * JPanelの取得
      */
    public JPanel getPanel(){
        return mPanel;
    }


    /**
      * JCheckBoxの取得
      */
    public JCheckBox getCheckBox(){
        return mCheckBox;
    }


    /**
      * JCheckBoxの状態を設定
      */
    public void setSelected(boolean selected) {
        mCheckBox.setSelected(selected);
    }


    /**
      * JCheckBoxの状態を取得
      */
    public boolean getSelected() {
        return mCheckBox.isSelected();
    }


    /**
      * テキストフィールドの取得
      */
    public JTextField getTextField() {
        return mText;
    }

    /**
      * 値の設定
      * @param szValue 設定文字列
      */
      public void setString( String szValue ){
          mText.setText( szValue );
      }

      /**
        * 値の取得
        */
      public String getString(){
          String szTmp = mText.getText();
          if ( szTmp == null || szTmp.equals("") ) {  return null;  }
          return szTmp;
      }



}
