Back to index

wims  3.65+svn20090927
HistoryTextFieldChoice.java
Go to the documentation of this file.
00001 package rene.gui;
00002 
00003 import java.awt.event.ItemEvent;
00004 import java.awt.event.ItemListener;
00005 
00006 import rene.util.FileName;
00007 import rene.util.MyVector;
00008 import rene.util.list.ListClass;
00009 import rene.util.list.ListElement;
00010 
00011 public class HistoryTextFieldChoice extends MyChoice
00012        implements ItemListener
00013 {      HistoryTextField T;
00014        DoActionListener AL;
00015        MyVector V=new MyVector();
00016        public int MaxLength=32;
00017 
00018        public HistoryTextFieldChoice (HistoryTextField t)
00019        {      T=t;
00020               addItemListener(this);
00021        }
00022        
00023        public void setDoActionListener (DoActionListener al)
00024        {      AL=al;
00025        }
00026        
00027        public void itemStateChanged (ItemEvent e)
00028        {      int n=getSelectedIndex();
00029               String s=(String)V.elementAt(n);
00030               if (s.equals("   ")) return;
00031               if (AL!=null) AL.doAction(s); 
00032               else T.doAction(s);
00033        }
00034        
00035        public void update ()
00036        {      removeAll();
00037               V.removeAllElements();
00038               ListClass l=T.getHistory();
00039               ListElement e=l.last();
00040               if (e==null || ((String)e.content()).equals(""))
00041               {      V.addElement("   ");
00042                      add("   ");
00043               }
00044               while (e!=null)
00045               {      String s=(String)e.content();
00046                      if (!s.equals(""))
00047                      {      V.addElement(s);
00048                             add(FileName.chop(s,MaxLength));
00049                      }
00050                      e=e.previous();
00051               }
00052        }
00053        
00054        public String getRecent ()
00055        {      if (V.size()>1) return (String)V.elementAt(1);
00056               else return "";
00057        }
00058 }