// Sample code file: FlowPanel.java

// Warning: This code has been marked up for HTML
/***************************************************************************
$name: FlowPanel.java 
$version: 1.0 
$date_modified: 161298 
$description:  
$owner: Beans for Novell Services Team 
Copyright (c) 1998 Novell, Inc. All Rights Reserved.

THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND TREATIES.
USE AND REDISTRIBUTION OF THIS WORK IS SUBJECT TO THE LICENSE AGREEMENT
ACCOMPANYING THE SOFTWARE DEVELOPMENT KIT (SDK) THAT CONTAINS THIS WORK.
PURSUANT TO THE SDK LICENSE AGREEMENT, NOVELL HEREBY GRANTS TO DEVELOPER A
ROYALTY-FREE, NON-EXCLUSIVE LICENSE TO INCLUDE NOVELL'S SAMPLE CODE IN ITS
PRODUCT. NOVELL GRANTS DEVELOPER WORLDWIDE DISTRIBUTION RIGHTS TO MARKET,
DISTRIBUTE, OR SELL NOVELL'S SAMPLE CODE AS A COMPONENT OF DEVELOPER'S
PRODUCTS. NOVELL SHALL HAVE NO OBLIGATIONS TO DEVELOPER OR DEVELOPER'S
CUSTOMERS WITH RESPECT TO THIS CODE.
****************************************************************************/
import java.awt.FlowLayout;
import java.awt.Dimension;
import javax.swing.*;
import com.novell.beans.NWDir.*;

// =================================================================
//
// FlowPanel - Base class for all tabbed panels that use FlowLayout
//
// =================================================================

public abstract class FlowPanel extends JPanel
{
   boolean   isInitialized = false;
   
   public FlowPanel()
   {
      this.setLayout(new FlowLayout());
   }
   
   protected JLabel addLabel(String labelName,
                              int labelWidth,
                              int labelHeight)
   {
      JLabel   aLbl = new JLabel(labelName);
      aLbl.setPreferredSize(new Dimension(labelWidth, labelHeight));
      aLbl.setSize(new Dimension(labelWidth, labelHeight));
      this.add(aLbl);
      
      return(aLbl);
   }
   
   protected JTextField addTextField(String initTextStr,
                                    int textWidth,
                                    int textHeight)
   {
      JTextField   aTxtFld = new JTextField(initTextStr);
      aTxtFld.setPreferredSize(new Dimension(textWidth, textHeight));
      aTxtFld.setSize(new Dimension(textWidth, textHeight));
      this.add(aTxtFld);
      
      return(aTxtFld);
   }
   
   public abstract void initialize();

   public abstract void clear();

   public abstract void load(NWEntry anEntry);

   public abstract void saveFields(NWEntry anEntry);
}