home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / jbuilder / jsamples.z / AttributePanel.java < prev    next >
Text File  |  1997-07-03  |  5KB  |  162 lines

  1.  
  2. package borland.samples.jbcl.treecontrol;
  3.  
  4. import java.awt.*;
  5. import java.awt.event.*;
  6. import borland.jbcl.layout.*;
  7. import borland.jbcl.control.*;
  8. import borland.jbcl.model.*;
  9. import borland.jbcl.view.*;
  10. import borland.jbcl.util.*;
  11.  
  12. /**
  13.  * A BevelPanel based attribute panel class. This produces a generic attribute
  14.  * page for displaying attributes/properties and their associated values
  15.  *
  16.  * @version     1.0, 06/10/97
  17.  * @author     Borland Development Team
  18.  */
  19.  
  20. public class AttributePanel extends BevelPanel {
  21.   GridLayout gridLayout1 = new GridLayout();
  22.   GridControl gridControl1 = new GridControl();
  23.   BasicMatrixContainer bmc = new BasicMatrixContainer(0, 2);
  24.   ColumnView[] tempColumns = new ColumnView[2];
  25.  
  26.   /**
  27.    * Constructor the attribute panel and it's UI elements
  28.    */
  29.   public AttributePanel() {
  30.     try {
  31.       jbInit();
  32.     }
  33.     catch (Exception e) {
  34.       e.printStackTrace();
  35.     }
  36.   }
  37.  
  38.   /**
  39.    * UI elements of the attribute panel
  40.    */
  41.   public void jbInit() throws Exception{
  42.     this.setBevelInner(BevelPanel.FLAT);
  43.     tempColumns[0] = new ColumnView();
  44.     tempColumns[0].setAlignment(Alignment.LEFT | Alignment.MIDDLE);
  45.     tempColumns[0].setCaption("Attribute");
  46.     tempColumns[0].setWidth(100);
  47.     tempColumns[1] = new ColumnView();
  48.     tempColumns[1].setAlignment(Alignment.LEFT | Alignment.MIDDLE);
  49.     tempColumns[1].setCaption("Value");
  50.     tempColumns[1].setWidth(305);
  51.     gridControl1.setColumnViews(tempColumns);
  52.     gridControl1.setDragSubfocus(false);
  53.     gridControl1.setEditInPlace(false);
  54.     gridControl1.setGridVisible(false);
  55.     gridControl1.setResizableRows(false);
  56.     gridControl1.setRowHeaderVisible(false);
  57.     gridControl1.setSelectRow(true);
  58.     gridControl1.setShowFocus(false);
  59.     gridControl1.setModel(bmc);
  60.     gridControl1.setViewManager(new BasicViewManager(new TextItemPainter(), new TextItemEditor()));
  61.     this.setLayout(gridLayout1);
  62.     this.add(gridControl1, null);
  63.   }
  64.  
  65.   /**
  66.    * Add an item name and string value
  67.    * @param name The name of the item to insert
  68.    * @param value The initial string value to set the item to
  69.    */
  70.   public void addItem(String name, String value) {
  71.     // Insert a new row into the container
  72.     bmc.addRow();
  73.  
  74.     // Add the item at the end
  75.     bmc.set(bmc.getRowCount()-2, 0, name);
  76.     bmc.set(bmc.getRowCount()-2, 1, value);
  77.   }
  78.  
  79.   /**
  80.    * Add an item name and boolean value
  81.    * @param name The name of the item to insert
  82.    * @param state The initial boolean value to set the item to
  83.    */
  84.   public void addItem(String name, boolean state) {
  85.     this.addItem(name, (state ? "True" : "False"));
  86.   }
  87.  
  88.   /**
  89.    * Loop through the container. This will remove all occurances
  90.    * of the item just in case there are duplicates.  Use
  91.    * removeItem(int) to remove only a specific item.
  92.    * @param name The string representation of the item to remove
  93.    */
  94.   public void removeItem(String name) {
  95.     for (int i=0;i<bmc.getRowCount();i++) {
  96.       if (bmc.get(i, 0).equals(name) == true)
  97.         bmc.removeRow(i);
  98.     }
  99.   }
  100.  
  101.   /**
  102.    * This will remove only the item specified in the index paramater
  103.    * @param index The index of the item to remove (base 1)
  104.    */
  105.   public void removeItem(int index) {
  106.     bmc.removeRow(index);
  107.   }
  108.  
  109.   /**
  110.    * This will set only the item specified in the index paramater
  111.    * @param index The index of the item to set (base 1)
  112.    * @param state The boolean value to set the specified item to
  113.    */
  114.   public void setValue(int index, boolean state) {
  115.     String value;
  116.     this.setValue(index, (state ? "True" : "False"));
  117.   }
  118.  
  119.   /**
  120.    * This will set only the item specified in the index paramater
  121.    * @param index The index of the item to set (base 1)
  122.    * @param value The string value to set the specified item to
  123.    */
  124.   public void setValue(int index, String value) {
  125.     bmc.set(index, 1, value);
  126.   }
  127.  
  128.   /**
  129.    * Loop through the container. This will set all occurances
  130.    * of the item just in case there are duplicates.  Use
  131.    * setItem(int) to set only a specific item.  If the specified
  132.    * item does not exist, it is added to the display.
  133.    * @param name The string representation of the item to modify
  134.    * @param state The boolean value to set the specified item to
  135.    */
  136.   public void setValue(String name, boolean state) {
  137.     this.setValue(name, (state ? "True" : "False"));
  138.   }
  139.  
  140.   /**
  141.    * Loop through the container. This will set all occurances
  142.    * of the item just in case there are duplicates.  Use
  143.    * setItem(int) to set only a specific item.  If the specified
  144.    * item does not exist, it is added to the display.
  145.    * @param name The string representation of the item to modify
  146.    * @param value The string value to set the specified item to
  147.    */
  148.   public void setValue(String name, String value) {
  149.     boolean foundItem = false;
  150.     if (bmc.getRowCount() > 1) {
  151.       for (int i=0;i<bmc.getRowCount()-1;i++) {
  152.         if (bmc.get(i, 0).equals(name) == true) {
  153.           foundItem = true;
  154.           bmc.set(i, 1, value);
  155.         }
  156.       }
  157.     }
  158.     if (foundItem == false)
  159.       this.addItem(name, value);
  160.   }
  161. }
  162.