home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / awt / windows / WListPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  2.9 KB  |  124 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.FontMetrics;
  5. import java.awt.List;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ItemEvent;
  8. import java.awt.peer.ListPeer;
  9.  
  10. class WListPeer extends WComponentPeer implements ListPeer {
  11.    public Dimension minimumSize() {
  12.       return this.minimumSize(4);
  13.    }
  14.  
  15.    public boolean isFocusTraversable() {
  16.       return true;
  17.    }
  18.  
  19.    public int[] getSelectedIndexes() {
  20.       List var1 = (List)super.target;
  21.       int var2 = var1.countItems();
  22.       int[] var3 = new int[var2];
  23.       int var4 = 0;
  24.  
  25.       for(int var5 = 0; var5 < var2; ++var5) {
  26.          if (this.isSelected(var5)) {
  27.             var3[var4++] = var5;
  28.          }
  29.       }
  30.  
  31.       int[] var6 = new int[var4];
  32.       System.arraycopy(var3, 0, var6, 0, var4);
  33.       return var6;
  34.    }
  35.  
  36.    public void add(String var1, int var2) {
  37.       this.addItem(var1, var2);
  38.    }
  39.  
  40.    public void removeAll() {
  41.       this.clear();
  42.    }
  43.  
  44.    public void setMultipleMode(boolean var1) {
  45.       this.setMultipleSelections(var1);
  46.    }
  47.  
  48.    public Dimension getPreferredSize(int var1) {
  49.       return this.preferredSize(var1);
  50.    }
  51.  
  52.    public Dimension getMinimumSize(int var1) {
  53.       return this.minimumSize(var1);
  54.    }
  55.  
  56.    public native void addItem(String var1, int var2);
  57.  
  58.    public native void delItems(int var1, int var2);
  59.  
  60.    public void clear() {
  61.       List var1 = (List)super.target;
  62.       this.delItems(0, var1.countItems());
  63.    }
  64.  
  65.    public native void select(int var1);
  66.  
  67.    public native void deselect(int var1);
  68.  
  69.    public native void makeVisible(int var1);
  70.  
  71.    public native void setMultipleSelections(boolean var1);
  72.  
  73.    public Dimension preferredSize(int var1) {
  74.       return this.minimumSize(var1);
  75.    }
  76.  
  77.    public Dimension minimumSize(int var1) {
  78.       FontMetrics var2 = ((WComponentPeer)this).getFontMetrics(((List)super.target).getFont());
  79.       return new Dimension(20 + var2.stringWidth("0123456789abcde"), var2.getHeight() * var1 + 4);
  80.    }
  81.  
  82.    WListPeer(List var1) {
  83.       super(var1);
  84.    }
  85.  
  86.    native void create(WComponentPeer var1);
  87.  
  88.    void initialize() {
  89.       List var1 = (List)super.target;
  90.       int var2 = var1.countItems();
  91.  
  92.       for(int var3 = 0; var3 < var2; ++var3) {
  93.          this.addItem(var1.getItem(var3), -1);
  94.       }
  95.  
  96.       this.setMultipleSelections(var1.allowsMultipleSelections());
  97.       int var4 = var1.getVisibleIndex();
  98.       if (var4 >= 0) {
  99.          this.makeVisible(var4);
  100.       }
  101.  
  102.       int[] var5 = var1.getSelectedIndexes();
  103.  
  104.       for(int var6 = 0; var6 < var5.length; ++var6) {
  105.          this.select(var5[var6]);
  106.       }
  107.  
  108.       super.initialize();
  109.    }
  110.  
  111.    native boolean isSelected(int var1);
  112.  
  113.    void handleAction(int var1) {
  114.       List var2 = (List)super.target;
  115.       var2.select(var1);
  116.       WToolkit.postEvent(new ActionEvent(super.target, 1001, var2.getItem(var1)));
  117.    }
  118.  
  119.    void handleListChanged(int var1) {
  120.       List var2 = (List)super.target;
  121.       WToolkit.postEvent(new ItemEvent(var2, 701, new Integer(var1), this.isSelected(var1) ? 1 : 2));
  122.    }
  123. }
  124.