home *** CD-ROM | disk | FTP | other *** search
/ Galaxy of Games: Classic Games / CLASSICS.ISO / go / msie302r.exe / ieakjava.exe / CLASSR.EXE / sun / awt / win32 / MListPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-01-31  |  2.1 KB  |  117 lines

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