Changeset 1345


Ignore:
Timestamp:
08/23/06 21:01:32 (14 years ago)
Author:
chris
Message:

NotePane:
1) minor changes to make the new Tools>Export Notes
menu item actually work
2) sort order of notes when exporting is now correct
based on the order the notes were originally added in

MetadataNotebook:
1) addition of new Tools>Export Notes menu item

WiscScanPane:
1) all fields should now work as well as WiscScan
itself does, e.g. this view is now completely
usable.

Location:
trunk/loci/ome/notebook
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/ome/notebook/MetadataNotebook.java

    r1325 r1345  
    8282    mdp = new loci.ome.viewer.MetadataPane(); 
    8383 
     84    noteP = new NotePane(); 
     85    scanP = new WiscScanPane(); 
     86 
    8487    //create a MetadataPane, where most everything happens 
    8588    if (args.length > 0) { 
     
    9598    } 
    9699    else metadata = new MetadataPane(); 
    97      
    98     noteP = new NotePane(); 
    99     scanP = new WiscScanPane(); 
    100100 
    101101    metadata.setVisible(true); 
     
    196196    advView.setMnemonic('v'); 
    197197    advView.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, MENU_MASK)); 
     198    JSeparator sep = new JSeparator(); 
     199    toolsMenu.add(sep); 
     200    JMenuItem exportItem = new JMenuItem("Export Notes"); 
     201    exportItem.setSelected(false); 
     202    toolsMenu.add(exportItem); 
     203    exportItem.addActionListener(this); 
     204    exportItem.setActionCommand("export"); 
     205    exportItem.setMnemonic('x'); 
     206    exportItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, MENU_MASK)); 
    198207 
    199208    JMenu help = new JMenu("Help"); 
     
    226235    metadata.setOMEXML(file); 
    227236    mdp.setOMEXML(file); 
     237    scanP.setOMEXML(metadata.getRoot()); 
    228238    if(noteView.getState()) noteP.setPanels(metadata.panelList); 
    229239    setTitle("OME Metadata Notebook - " + file); 
     
    287297      } 
    288298    } 
    289     if ("open".equals(cmd)) { 
     299    else if ("open".equals(cmd)) { 
    290300      if (metadata.getState()) { 
    291301        Object[] options = {"Yes, do it!", "No thanks."}; 
     
    371381      metadata.tabChange( Integer.parseInt(cmd.substring(9)) ); 
    372382    } 
     383    else if ("export".equals(cmd)) { 
     384      noteP.tPanels = metadata.panelList; 
     385      noteP.exportNotes(); 
     386    } 
    373387  } 
    374388 
     
    409423      tabsMenu.setEnabled(false); 
    410424      fileNew.setEnabled(false); 
    411 //      scanP.setOMEXML(metadata.currentFile); 
     425      scanP.setOMEXML(metadata.getRoot()); 
    412426      scanP.setVisible(true); 
    413427    } 
  • trunk/loci/ome/notebook/NotePane.java

    r1325 r1345  
    3333import java.util.Enumeration; 
    3434import java.util.Calendar; 
     35import java.util.Arrays; 
    3536 
    3637import com.jgoodies.forms.builder.PanelBuilder; 
     
    4243import java.io.FileWriter; 
    4344import java.io.BufferedWriter; 
     45 
     46import org.w3c.dom.Element; 
    4447 
    4548public class NotePane extends JScrollPane 
     
    5154  private JPanel titlePanel; 
    5255  protected JFileChooser chooser; 
    53   private Vector tPanels; 
     56  protected Vector tPanels; 
    5457 
    5558  public NotePane() { 
     
    140143        } 
    141144         
    142         public void actionPerformed(ActionEvent e) { 
    143           if(e.getActionCommand().equals("save")) { 
    144              Hashtable topHash = new Hashtable(); 
    145                 Vector names = new Vector(); 
    146                 for(int i = 0;i < tPanels.size();i++) { 
    147                         MetadataPane.TablePanel thisPanel =  
    148                           (MetadataPane.TablePanel) tPanels.get(i); 
    149                         Hashtable noteHash = thisPanel.noteP.getNoteHash(); 
    150                         topHash.put(thisPanel.name, noteHash); 
    151                          
    152                         Enumeration keys = noteHash.keys(); 
    153                         while(keys.hasMoreElements()) { 
    154                           String suffix = (String) keys.nextElement(); 
    155                           names.add(thisPanel.name + "  >>>" + suffix); 
    156                         }  
    157                 } 
     145        public void exportNotes() { 
     146                if(tPanels != null) { 
     147            Hashtable topHash = new Hashtable(); 
     148        Vector names = new Vector(); 
     149        for(int i = 0;i < tPanels.size();i++) { 
     150                MetadataPane.TablePanel thisPanel =  
     151                  (MetadataPane.TablePanel) tPanels.get(i); 
     152                Hashtable noteHash = thisPanel.noteP.getNoteHash(); 
     153                topHash.put(thisPanel.name, noteHash); 
     154                 
     155                Vector noteElements = thisPanel.noteP.getNoteElements(); 
     156                if(noteElements!=null) { 
     157                        for (int j=0;j<noteElements.size();j++) { 
     158                                Element thisEle = (Element) noteElements.get(j); 
     159                          String suffix = thisEle.getAttribute("Name");  
     160                          names.add(thisPanel.name + "  >>>" + suffix);                    
     161                        } 
     162                } 
     163        } 
    158164                 
    159165                        Object [] values = names.toArray(); 
     
    247253        } 
    248254         
     255        public void actionPerformed(ActionEvent e) { 
     256          if(e.getActionCommand().equals("save")) exportNotes(); 
     257        } 
     258         
    249259 
    250260        // --Helper Classes-- 
  • trunk/loci/ome/notebook/WiscScanPane.java

    r1325 r1345  
    44import javax.swing.border.*; 
    55import java.awt.*; 
     6import java.awt.event.ActionListener; 
     7import java.awt.event.ActionEvent; 
     8import java.awt.event.ItemListener; 
     9import java.awt.event.ItemEvent; 
     10import javax.swing.event.DocumentListener; 
     11import javax.swing.event.DocumentEvent; 
     12 
     13import java.util.Vector; 
     14import java.util.Arrays; 
    615 
    716import com.jgoodies.forms.builder.PanelBuilder; 
     
    1221import org.w3c.dom.*; 
    1322 
    14 public class WiscScanPane extends JTabbedPane { 
     23public class WiscScanPane extends JTabbedPane 
     24  implements ActionListener, ItemListener, DocumentListener 
     25{ 
     26        public static final Object [] exChoices = {"Time-lapse","4-D+", 
     27          "PGI/Documentation", 
     28                "Photoablation","Fluorescense-Lifetime","Spectral-Imaging", 
     29                "FP","FRET","Screen","Immunocytochemistry Immunofluorescence", 
     30                "FISH","Electrophysiology","Ion-Imaging","Colocalization", 
     31          "FRAP","Photoactivation","Uncaging","Optical-Trapping", 
     32                "Other"}; 
     33        public static final Object [] wheeChoices = {"None","1 TFI 650SP"}; 
     34        public static final Object [] hoChoices = {"None","1 TFI 650SP"}; 
     35 
     36  protected JComboBox groupBox, exB, wheeB, hoB; 
     37  protected JCheckBox tiC, phC, pmtC; 
     38  protected JTextField firstField,lastField,OMEField,passField, 
     39    emailField,prT, tempT, pocT, tapT, tiT,pmtT; 
     40  protected JTextArea desA; 
     41  protected Element exrEle,exEle,prEle,desEle,tiEle,pmtEle,phEle; 
     42  protected boolean setup; 
     43  protected OMENode ome; 
     44 
    1545        public WiscScanPane() { 
     46          setup = false; 
     47          ome = null; 
     48          exrEle = null; 
     49          exEle = null; 
     50          prEle = null; 
     51          desEle = null; 
     52          tiEle = null; 
     53          pmtEle = null; 
     54          phEle = null; 
     55         
    1656          setPreferredSize(new Dimension(700, 500)); 
    1757                JPanel loginPanel = new JPanel(); 
     
    2868          JLabel firstLabel = new JLabel("First Name"); 
    2969          firstLabel.setPreferredSize(new Dimension(w,h)); 
    30           JTextField firstField = new JTextField(); 
     70          firstField = new JTextField(); 
    3171          firstField.setPreferredSize(new Dimension(w,h)); 
     72          firstField.getDocument().addDocumentListener(this); 
    3273          JLabel lastLabel = new JLabel("Last Name"); 
    3374          lastLabel.setPreferredSize(new Dimension(w,h)); 
    34           JTextField lastField = new JTextField(); 
     75          lastField = new JTextField(); 
    3576          lastField.setPreferredSize(new Dimension(w,h)); 
     77          lastField.getDocument().addDocumentListener(this); 
    3678          JLabel OMELabel = new JLabel("OME Name (not supported)"); 
    3779          OMELabel.setPreferredSize(new Dimension(w,h)); 
    38           JTextField OMEField = new JTextField(); 
     80          OMEField = new JTextField(); 
    3981          OMEField.setEnabled(false); 
    4082          OMEField.setPreferredSize(new Dimension(w,h)); 
     83          OMEField.getDocument().addDocumentListener(this); 
    4184          JLabel passLabel = new JLabel("Password (not supported)"); 
    4285          passLabel.setPreferredSize(new Dimension(w,h)); 
    43           JTextField passField = new JTextField(); 
     86          passField = new JTextField(); 
    4487          passField.setEnabled(false); 
    4588          passField.setPreferredSize(new Dimension(w,h)); 
     89          passField.getDocument().addDocumentListener(this); 
    4690          JLabel emailLabel = new JLabel("Email"); 
    4791          emailLabel.setPreferredSize(new Dimension(w,h)); 
    48           JTextField emailField = new JTextField(); 
     92          emailField = new JTextField(); 
    4993          emailField.setPreferredSize(new Dimension(w,h)); 
    50           JLabel groupLabel = new JLabel("Group"); 
     94          emailField.getDocument().addDocumentListener(this); 
     95          JLabel groupLabel = new JLabel("Group (not supported)"); 
    5196          groupLabel.setPreferredSize(new Dimension(w,h)); 
    52           JComboBox groupBox = new JComboBox(); 
     97          groupBox = new JComboBox(); 
    5398          groupBox.setPreferredSize(new Dimension(w,h)); 
     99          groupBox.addActionListener(this); 
     100          groupBox.setEnabled(false); 
    54101           
    55102          JPanel subPanel = null; 
     
    126173    JLabel hoL = new JLabel("Holder"); 
    127174     
    128                 JTextField prT = new JTextField(); 
     175                prT = new JTextField(); 
    129176                prT.setPreferredSize(new Dimension(w,h)); 
    130                 JTextField tempT = new JTextField(); 
     177                prT.getDocument().addDocumentListener(this); 
     178                tempT = new JTextField(); 
    131179                tempT.setPreferredSize(new Dimension(w,h)); 
    132180                tempT.setEnabled(false); 
    133                 JTextField pocT = new JTextField(); 
     181                pocT = new JTextField(); 
    134182                pocT.setPreferredSize(new Dimension(w,h)); 
    135183                pocT.setEnabled(false); 
    136                 JTextField tapT = new JTextField(); 
     184                tapT = new JTextField(); 
    137185                tapT.setPreferredSize(new Dimension(w,h)); 
    138186                tapT.setEnabled(false); 
    139187                 
    140                 JTextField tiT = new JTextField(); 
     188                tiT = new JTextField(); 
    141189                tiT.setPreferredSize(new Dimension(80,h)); 
     190                tiT.setEnabled(false); 
    142191                 
    143                 JTextField pmtT = new JTextField(); 
     192                pmtT = new JTextField(); 
    144193                pmtT.setPreferredSize(new Dimension(80,h)); 
    145                 pmtT.setEnabled(false); 
     194                pmtT.getDocument().addDocumentListener(this); 
    146195                 
    147                 JTextArea desA = new JTextArea("",4,1); 
     196                desA = new JTextArea("",4,1); 
    148197                desA.setLineWrap(true); 
    149198    desA.setWrapStyleWord(true); 
     199    desA.getDocument().addDocumentListener(this); 
    150200                JScrollPane desS = new JScrollPane(desA); 
    151201                desS.setPreferredSize(new Dimension(w,h*4)); 
    152202                desS.setVerticalScrollBarPolicy( 
    153203      JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 
    154                  
    155                 JComboBox exB = new JComboBox(); 
     204                   
     205                exB = new JComboBox(exChoices); 
    156206                exB.setPreferredSize(new Dimension(w,h)); 
    157                 JComboBox wheeB = new JComboBox(); 
     207                exB.addActionListener(this); 
     208                wheeB = new JComboBox(wheeChoices); 
    158209                wheeB.setEnabled(false); 
    159                 JComboBox hoB = new JComboBox(); 
     210                hoB = new JComboBox(hoChoices); 
    160211                hoB.setEnabled(false); 
    161212                 
    162                 JCheckBox tiC = new JCheckBox("Ti-Sapphire"); 
    163                 JCheckBox phC = new JCheckBox("Photodiode Bio-Rad 1024TLD"); 
    164                 JCheckBox pmtC = new JCheckBox("PMT Hamamatsu H7422"); 
     213                tiC = new JCheckBox("Ti-Sapphire"); 
     214                tiC.addItemListener(this); 
     215                phC = new JCheckBox("Photodiode Bio-Rad 1024TLD"); 
     216                phC.addItemListener(this); 
     217                pmtC = new JCheckBox("PMT Hamamatsu H7422"); 
     218                pmtC.addItemListener(this); 
    165219                 
    166220                FormLayout layoutF = new FormLayout( 
     
    252306    public boolean getScrollableTracksViewportHeight() {return false;} 
    253307  } 
     308   
     309  public void setOMEXML(OMENode omeNode) { 
     310    ome = omeNode; 
     311    setup = true; 
     312   
     313        Document omeDoc = null; 
     314        try { 
     315                omeDoc = ome.getOMEDocument(true); 
     316        } 
     317        catch (Exception exc) {} 
     318         
     319        Vector exrVector = DOMUtil.findElementList("Experimenter",omeDoc); 
     320        String firstName = "",lastName = "",emailName = ""; 
     321        for (int i = 0;i<exrVector.size();i++) { 
     322          Element ele = (Element) exrVector.get(i); 
     323          if (ele.hasAttribute("FirstName")) { 
     324                if(exrEle==null || exrEle == ele) { 
     325                    firstName = ele.getAttribute("FirstName"); 
     326                    exrEle = ele; 
     327                  } 
     328          } 
     329          else { 
     330            if(exrEle==null) exrEle = ele; 
     331          } 
     332          if (ele.hasAttribute("LastName")) { 
     333                if(exrEle==null || exrEle == ele) { 
     334                    lastName = ele.getAttribute("LastName"); 
     335                    exrEle = ele; 
     336                  } 
     337          } 
     338          else { 
     339            if(exrEle==null) exrEle = ele; 
     340          } 
     341          if (ele.hasAttribute("Email")) { 
     342                if(exrEle==null || exrEle == ele) { 
     343                    emailName = ele.getAttribute("Email"); 
     344                    exrEle = ele; 
     345                  } 
     346          } 
     347          else { 
     348            if(exrEle==null) exrEle = ele; 
     349          } 
     350        } 
     351        firstField.setText(firstName); 
     352        lastField.setText(lastName); 
     353        emailField.setText(emailName); 
     354         
     355        Vector exVector = DOMUtil.findElementList("Experiment",omeDoc); 
     356                String exType = "Other"; 
     357        for (int i = 0;i<exVector.size();i++) { 
     358          Element ele = (Element) exVector.get(i); 
     359          if (ele.hasAttribute("Type")) { 
     360                if(exEle==null || exEle == ele) { 
     361                    exType = ele.getAttribute("Type"); 
     362                    exEle = ele; 
     363                  } 
     364          } 
     365          else { 
     366            if(exEle==null) exEle = ele; 
     367          } 
     368        } 
     369        Arrays.sort(exChoices); 
     370        if(Arrays.binarySearch(exChoices, exType) >= 0)  
     371          exB.setSelectedItem(exType); 
     372        else exB.setSelectedItem("Other"); 
     373         
     374        Vector prVector = DOMUtil.findElementList("Project",omeDoc); 
     375                String prName = null; 
     376        for (int i = 0;i<prVector.size();i++) { 
     377          Element ele = (Element) prVector.get(i); 
     378          if (ele.hasAttribute("Name")) { 
     379                if(prEle==null || prEle == ele) { 
     380                    prName = ele.getAttribute("Name"); 
     381                    prEle = ele; 
     382                  } 
     383          } 
     384          else { 
     385            if(prEle==null) prEle = ele; 
     386          } 
     387        } 
     388        prT.setText(prName); 
     389         
     390        Vector desVector = exVector; 
     391                String desText = null; 
     392        for (int i = 0;i<desVector.size();i++) { 
     393          Element ele = (Element) desVector.get(i); 
     394          if (ele.hasAttribute("Description")) { 
     395                if(desEle==null || desEle == ele) { 
     396                    desText = ele.getAttribute("Description"); 
     397                    desEle = ele; 
     398                  } 
     399          } 
     400          else { 
     401            if(desEle==null) desEle = ele; 
     402          } 
     403        } 
     404        desA.setText(desText); 
     405         
     406        Vector tiVector = DOMUtil.findElementList("Laser",omeDoc); 
     407        boolean tiToggle = false; 
     408        for (int i = 0;i<tiVector.size();i++) { 
     409          Element ele = (Element) tiVector.get(i); 
     410          if (ele.hasAttribute("Medium")) { 
     411            String attr = ele.getAttribute("Medium"); 
     412            if(attr.equals("Ti-Sapphire")) { 
     413                if(tiEle==null || tiEle == ele) { 
     414                tiToggle = true; 
     415                        tiEle = ele; 
     416                } 
     417            } 
     418            else { 
     419                if(tiEle==null) tiEle = ele; 
     420                } 
     421          } 
     422        } 
     423        tiC.setSelected(tiToggle); 
     424         
     425        Vector phVector = DOMUtil.findElementList("Detector",omeDoc); 
     426        boolean phToggle = false; 
     427        for (int i = 0;i<phVector.size();i++) { 
     428          Element ele = (Element) phVector.get(i); 
     429          if (ele.hasAttribute("Type")) { 
     430            String attr = ele.getAttribute("Type"); 
     431            if(attr.equals("Photodiode")) { 
     432                if(phEle==null || phEle==ele) { 
     433                        phEle = ele; 
     434                        phToggle = true; 
     435                } 
     436            } 
     437            else { 
     438                if(phEle==null) phEle = ele; 
     439                } 
     440          } 
     441        } 
     442        phC.setSelected(phToggle); 
     443         
     444        Vector pmtVector = phVector; 
     445        boolean pmtToggle = false; 
     446        for (int i = 0;i<pmtVector.size();i++) { 
     447          Element ele = (Element) pmtVector.get(i); 
     448          if (ele.hasAttribute("Type")) { 
     449            String attr = ele.getAttribute("Type"); 
     450            if(attr.equals("PMT")) { 
     451              if(pmtEle==null || pmtEle==ele) { 
     452                      pmtToggle = true; 
     453                        pmtEle = ele; 
     454                        } 
     455            } 
     456            else { 
     457                if(pmtEle==null) pmtEle = ele; 
     458                } 
     459          } 
     460        } 
     461        pmtC.setSelected(pmtToggle); 
     462        if(!pmtToggle) pmtT.setEnabled(false); 
     463         
     464        if(pmtEle != null && pmtEle.hasAttribute("Gain")) { 
     465          pmtT.setText(pmtEle.getAttribute("Gain")); 
     466        } 
     467         
     468        setup = false; 
     469  } 
     470   
     471  public void actionPerformed(ActionEvent e) { 
     472    if(!setup) { 
     473      if(e.getSource() instanceof JComboBox) { 
     474        JComboBox src = (JComboBox) e.getSource(); 
     475        if(src==exB) { 
     476          if(exEle==null) { 
     477            exEle = MetadataPane.makeNode("Experiment", 
     478              ome).getDOMElement(); 
     479          } 
     480          exEle.setAttribute("Type",(String) exB.getSelectedItem()); 
     481          setOMEXML(ome); 
     482        } 
     483      } 
     484        } 
     485  } 
     486   
     487  public void itemStateChanged(ItemEvent e) { 
     488    if(!setup) { 
     489                        JCheckBox src = (JCheckBox) e.getItem(); 
     490                        if(src==tiC) { 
     491                                if (e.getStateChange() == ItemEvent.SELECTED) { 
     492                                  OMEXMLNode newNode = MetadataPane.makeNode("Laser",ome); 
     493                                  newNode.setAttribute("Medium", "Ti-Sapphire"); 
     494                                  newNode.setAttribute("Type", "Solid State"); 
     495                                  tiEle = newNode.getDOMElement(); 
     496                                } 
     497                                else { 
     498                                  if(ome.getChild("CustomAttributes") != null) { 
     499                                          Node thisNode = (Node) ome.getChild( 
     500                                            "CustomAttributes").getDOMElement(); 
     501                                          thisNode.removeChild((Node)tiEle); 
     502                                          tiEle = null; 
     503                                        } 
     504                                } 
     505                        } 
     506                        else if(src==phC) { 
     507                                if (e.getStateChange() == ItemEvent.SELECTED) { 
     508                                        OMEXMLNode newNode = MetadataPane.makeNode("Detector",ome); 
     509                                  newNode.setAttribute("Manufacturer", "Bio-Rad"); 
     510                                  newNode.setAttribute("Model", "1024LD"); 
     511                                  newNode.setAttribute("Type", "Photodiode"); 
     512                                  phEle = newNode.getDOMElement(); 
     513                                } 
     514                                else { 
     515                                  if(ome.getChild("CustomAttributes") != null) { 
     516                                                Node thisNode = (Node) ome.getChild( 
     517                                            "CustomAttributes").getDOMElement(); 
     518                                          thisNode.removeChild((Node)phEle); 
     519                                          phEle = null; 
     520                                        } 
     521                                } 
     522                        } 
     523                        else if(src==pmtC) { 
     524                                if (e.getStateChange() == ItemEvent.SELECTED) { 
     525                                        OMEXMLNode newNode = MetadataPane.makeNode("Detector",ome); 
     526                                  newNode.setAttribute("Manufacturer", "Hamamatsu"); 
     527                                  newNode.setAttribute("Model", "H7422"); 
     528                                  newNode.setAttribute("Type", "PMT"); 
     529                                  pmtEle = newNode.getDOMElement(); 
     530                                  pmtT.setEnabled(true); 
     531                                } 
     532                                else { 
     533                                        if(ome.getChild("CustomAttributes") != null) { 
     534                                                Node thisNode = (Node) ome.getChild( 
     535                                                "CustomAttributes").getDOMElement(); 
     536                                          thisNode.removeChild((Node)pmtEle); 
     537                                          pmtEle = null; 
     538                                          pmtT.setEnabled(false); 
     539                                          pmtT.setText(""); 
     540                                        } 
     541                                } 
     542                        } 
     543        } 
     544  } 
     545   
     546  public void changeNode(DocumentEvent e) { 
     547        if(!setup) { 
     548            setup = true; 
     549            try { 
     550              if(e.getDocument() == desA.getDocument()) { 
     551                if(desEle==null) { 
     552                        desEle = MetadataPane.makeNode("Experiment", 
     553                          ome).getDOMElement(); 
     554                } 
     555                                desEle.setAttribute("Description", e.getDocument().getText(0, 
     556                        e.getDocument().getLength())); 
     557                      setOMEXML(ome); 
     558                    } 
     559                    else if(e.getDocument() == prT.getDocument()) { 
     560                        if(prEle==null) { 
     561                        prEle = MetadataPane.makeNode("Project", 
     562                          ome).getDOMElement(); 
     563                } 
     564                      prEle.setAttribute("Name", e.getDocument().getText(0, 
     565                        e.getDocument().getLength())); 
     566                      setOMEXML(ome); 
     567                    } 
     568                    else if(e.getDocument() == pmtT.getDocument()) { 
     569                      if(pmtC != null) 
     570                        pmtEle.setAttribute("Gain", e.getDocument().getText(0, 
     571                        e.getDocument().getLength())); 
     572                      else pmtT.setText(""); 
     573                    } 
     574                    else if(e.getDocument() == firstField.getDocument()) { 
     575                        if(exrEle==null) { 
     576                        exrEle = MetadataPane.makeNode("Experimenter" 
     577                          ,ome).getDOMElement(); 
     578                } 
     579                      exrEle.setAttribute("FirstName", e.getDocument().getText(0, 
     580                        e.getDocument().getLength())); 
     581                      setOMEXML(ome); 
     582                    } 
     583                    else if(e.getDocument() == lastField.getDocument()) { 
     584                        if(exrEle==null) { 
     585                        exrEle = MetadataPane.makeNode("Experimenter" 
     586                          ,ome).getDOMElement(); 
     587                } 
     588                      exrEle.setAttribute("LastName", e.getDocument().getText(0, 
     589                        e.getDocument().getLength())); 
     590                      setOMEXML(ome); 
     591                    } 
     592                    else if(e.getDocument() == emailField.getDocument()) { 
     593                        if(exrEle==null) { 
     594                        exrEle = MetadataPane.makeNode("Experimenter", 
     595                          ome).getDOMElement(); 
     596                } 
     597                      exrEle.setAttribute("Email", e.getDocument().getText(0, 
     598                        e.getDocument().getLength())); 
     599                      setOMEXML(ome); 
     600                    } 
     601            } 
     602            catch (Exception exc) {} 
     603            setup = false; 
     604        } 
     605  } 
     606   
     607  public void insertUpdate(DocumentEvent e) {changeNode(e);} 
     608  public void removeUpdate(DocumentEvent e) {changeNode(e);} 
     609  public void changedUpdate(DocumentEvent e) {changeNode(e);} 
    254610} 
Note: See TracChangeset for help on using the changeset viewer.