package mit.krb4.ui ;

public class LoginPanel
extends mit.swing.xJPanel
{
	private mit.krb4.ui.ActionPanel loginaction = new mit.krb4.ui.ActionPanel() ;
	private mit.krb4.ui.CriteriaPanel logincriteria = new mit.krb4.ui.CriteriaPanel() ;

	private mit.krb4.ui.LoginComponent login = new mit.krb4.ui.LoginComponent() ;

	private java.awt.GridBagConstraints gbc = new java.awt.GridBagConstraints() ;
	private java.awt.GridBagLayout gbl = new java.awt.GridBagLayout() ;

	public void addNotify()
	{
		super.addNotify() ;
		try
		{
			removeAll() ;
			add( login ) ;

			setLayout( gbl ) ;

			gbc.gridx = 1 ;
			gbc.gridy = 1 ;
			gbc.gridwidth = java.awt.GridBagConstraints.RELATIVE ;
			gbc.gridheight = java.awt.GridBagConstraints.RELATIVE ;
			gbc.weightx = 0.9 ;
			gbc.weighty = 1.0 ;
			gbc.anchor = java.awt.GridBagConstraints.WEST ;
			gbc.fill = java.awt.GridBagConstraints.HORIZONTAL ;

			addAComponent( logincriteria , gbl , gbc ) ;

			gbc.gridx = 2 ;
			gbc.gridwidth = java.awt.GridBagConstraints.REMAINDER ;
			gbc.weightx = 0.1 ;
	
			addAComponent( loginaction , gbl , gbc ) ;

			gbc.gridx = 1 ;
			gbc.gridy = 3 ;
			gbc.gridheight = java.awt.GridBagConstraints.REMAINDER ;
			gbc.weightx = 2.0 ;
			gbc.weighty = 2.0 ;
			gbc.fill = java.awt.GridBagConstraints.BOTH ;

			getEventControlAdapter().addContained( mit.krb4.event.LoginEvent.class ) ;
			getEventControlAdapter().addContained( mit.krb4.event.UsernameEvent.class ) ;
			getEventControlAdapter().addContained( mit.krb4.event.PasswordEvent.class ) ;

			getEventControlAdapter().addExcluded( mit.krb4.event.LoginEvent.class ) ;
			getEventControlAdapter().addExcluded( mit.krb4.event.UsernameEvent.class ) ;
			getEventControlAdapter().addExcluded( mit.krb4.event.PasswordEvent.class ) ;
		}
		catch( Exception ex )
		{
			ex.printStackTrace() ;
		}
	}

	private void addAComponent
	( javax.swing.JComponent component
	, java.awt.GridBagLayout layout
	, java.awt.GridBagConstraints constraints
	)
	{
		layout.setConstraints( component , constraints ) ;
		add( component ) ;
	}

	public static void main( String[] args )
	{
		try
		{
			mit.swing.xJFrame f = new mit.swing.xJFrame( null , "Login Panel" ) ;
			f.getContentPane().setLayout( new java.awt.BorderLayout() ) ;
			f.setBackground( java.awt.Color.green ) ;

			mit.krb4.ui.LoginPanel p = new mit.krb4.ui.LoginPanel() ;
			p.setBackground( java.awt.Color.pink ) ;

			f.getContentPane().add( p , java.awt.BorderLayout.CENTER ) ;
			f.setSize( 400 , 300 ) ;
			f.show() ;
		}
		catch( Exception ex )
		{
			ex.printStackTrace() ;
		}
	}
}