home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / sun / awt / macos / MListPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-15  |  2.8 KB  |  124 lines

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