home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.Component;
- import java.awt.Dimension;
- import javax.swing.ComboBoxModel;
- import javax.swing.ListCellRenderer;
- import javax.swing.event.ListDataEvent;
- import javax.swing.event.ListDataListener;
-
- public class BasicComboBoxUI$ListDataHandler implements ListDataListener {
- // $FF: synthetic field
- private final BasicComboBoxUI this$0;
-
- public BasicComboBoxUI$ListDataHandler(BasicComboBoxUI var1) {
- this.this$0 = var1;
- }
-
- public void contentsChanged(ListDataEvent var1) {
- if (var1.getIndex0() != -1 || var1.getIndex1() != -1) {
- this.this$0.isMinimumSizeDirty = true;
- this.this$0.comboBox.revalidate();
- }
-
- if (this.this$0.editor != null) {
- this.this$0.comboBox.configureEditor(this.this$0.comboBox.getEditor(), this.this$0.comboBox.getSelectedItem());
- }
-
- this.this$0.comboBox.repaint();
- }
-
- public void intervalAdded(ListDataEvent var1) {
- int var2 = var1.getIndex0();
- int var3 = var1.getIndex1();
- if (var2 == 0 && this.this$0.comboBox.getItemCount() - (var3 - var2 + 1) == 0) {
- this.contentsChanged(var1);
- } else if (var2 != -1 || var3 != -1) {
- ListCellRenderer var4 = this.this$0.comboBox.getRenderer();
- ComboBoxModel var5 = this.this$0.comboBox.getModel();
- int var8 = this.this$0.cachedDisplaySize.width;
- int var9 = this.this$0.cachedDisplaySize.height;
-
- for(int var10 = var2; var10 <= var3; ++var10) {
- Component var6 = var4.getListCellRendererComponent(this.this$0.listBox, var5.getElementAt(var10), -1, false, false);
- this.this$0.currentValuePane.add(var6);
- var6.setFont(this.this$0.comboBox.getFont());
- Dimension var7 = var6.getPreferredSize();
- var8 = Math.max(var8, var7.width);
- var9 = Math.max(var9, var7.height);
- this.this$0.currentValuePane.remove(var6);
- }
-
- if (this.this$0.cachedDisplaySize.width < var8 || this.this$0.cachedDisplaySize.height < var9) {
- if (this.this$0.cachedDisplaySize.width < var8) {
- Dimension var10000 = this.this$0.cachedMinimumSize;
- var10000.width += var8 - this.this$0.cachedDisplaySize.width;
- }
-
- if (this.this$0.cachedDisplaySize.height < var9) {
- Dimension var11 = this.this$0.cachedMinimumSize;
- var11.height += var9 - this.this$0.cachedDisplaySize.height;
- }
-
- this.this$0.cachedDisplaySize.setSize(var9, var8);
- this.this$0.comboBox.revalidate();
- if (this.this$0.editor != null) {
- this.this$0.comboBox.configureEditor(this.this$0.comboBox.getEditor(), this.this$0.comboBox.getSelectedItem());
- }
- }
- }
-
- }
-
- public void intervalRemoved(ListDataEvent var1) {
- this.contentsChanged(var1);
- }
- }
-