Changeset 1199


Ignore:
Timestamp:
07/27/06 21:14:53 (14 years ago)
Author:
chris
Message:

MetaDataPane:
1) added capability to see how many notes there are
regardless of whether or not the notepanel is visible

NotePanel:
1) fixed scrolling bug with the textarea
2) added ability to add/remove notes with the popup
menu, and adds to the XML appropriately now as well

ClickableList:
1) added ability to add/remove notes
2) added appropriate scrolling when adding/removing
3) added dialogs to handle if none selected when
user selects "Delete Selected Note", and also for
making new notes with names

Template.xml:
1) don't think anything changed here, wonder why it
says something did

Samples:
1) added a sample of the new Notes stuff

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

Legend:

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

    r1194 r1199  
    1414import loci.formats.TiffTools; 
    1515import loci.formats.ReflectedUniverse; 
     16import loci.formats.ReflectException; 
    1617import org.openmicroscopy.xml.*; 
    1718import org.w3c.dom.*; 
     
    234235      OMEXMLNode n = null; 
    235236      String unknownName = tabList[i].getAttribute("XMLName"); 
     237      CustomAttributesNode caNode = null; 
    236238 
    237239      try { 
     
    248250        } 
    249251        else { 
    250                 r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
    251                 r.exec("import org.openmicroscopy.xml.st." + 
    252                   unknownName + "Node"); 
    253252                Element currentCA = DOMUtil.getChildElement("CustomAttributes", thisOmeNode.getDOMElement()); 
    254253                if (currentCA != null) { 
    255                   CustomAttributesNode caNode = new CustomAttributesNode(currentCA); 
     254                  caNode = new CustomAttributesNode(currentCA); 
     255                  r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
     256                  r.exec("import org.openmicroscopy.xml.st." + 
     257                    unknownName + "Node"); 
    256258                  r.setVar("parent", caNode); 
    257259                  r.exec("result = new " + unknownName + "Node(parent)"); 
     
    260262                else { 
    261263                  Element cloneEle = DOMUtil.createChild(thisOmeNode.getDOMElement(),"CustomAttributes"); 
    262                   CustomAttributesNode caNode = new CustomAttributesNode(cloneEle); 
     264                  caNode = new CustomAttributesNode(cloneEle); 
     265                  r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
     266                  r.exec("import org.openmicroscopy.xml.st." + 
     267                    unknownName + "Node"); 
    263268                  r.setVar("parent", caNode); 
    264269                  r.exec("result = new " + unknownName + "Node(parent)"); 
     
    270275        System.out.println(exc.toString()); 
    271276      } 
    272  
     277      if (caNode != null && n == null) n = new AttributeNode(caNode, unknownName); 
    273278                        tPanel.oNode = n; 
    274279 
     
    321326    addItems = new Vector(); 
    322327    internalDefs = new Hashtable(); 
     328     
     329    try { 
     330      Element damnElement = DOMUtil.findElement("LaserCoordinates", ome.getOMEDocument(true)); 
     331      System.out.println(damnElement); 
     332    } 
     333    catch (Exception e) { 
     334      e.printStackTrace(); 
     335    } 
    323336 
    324337                //time to parse internal semantic type defs in file 
     
    427440         
    428441        OMEXMLNode n = null; 
     442        CustomAttributesNode caNode = null; 
    429443 
    430444        try { 
     
    444458          } 
    445459          else { 
    446             r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
    447             r.exec("import org.openmicroscopy.xml.st." + 
    448               unknownName + "Node"); 
    449460            Element currentCA = DOMUtil.getChildElement("CustomAttributes", thisOmeNode.getDOMElement()); 
    450461            if (currentCA != null) { 
    451               CustomAttributesNode caNode = new CustomAttributesNode(currentCA); 
     462              caNode = new CustomAttributesNode(currentCA); 
     463              r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
     464              r.exec("import org.openmicroscopy.xml.st." + 
     465                unknownName + "Node"); 
    452466              r.setVar("parent", caNode); 
    453467              r.exec("result = new " + unknownName + "Node(parent)"); 
     
    456470            else { 
    457471              Element cloneEle = DOMUtil.createChild(thisOmeNode.getDOMElement(),"CustomAttributes"); 
    458               CustomAttributesNode caNode = new CustomAttributesNode(cloneEle); 
     472              caNode = new CustomAttributesNode(cloneEle); 
     473              r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
     474              r.exec("import org.openmicroscopy.xml.st." + 
     475                unknownName + "Node"); 
    459476              r.setVar("parent", caNode); 
    460477              r.exec("result = new " + unknownName + "Node(parent)"); 
     
    463480          } 
    464481        } 
    465         catch (Exception exc) { exc.printStackTrace(); } 
     482        catch (Exception exc) { 
     483          System.out.println(exc.toString()); 
     484        } 
     485        if (caNode != null && n == null) n = new AttributeNode(caNode, thisName); 
    466486        tPanel.oNode = n; 
    467487         
     
    584604              aName.equals("Dataset") || aName.equals("Project") ) 
    585605            { 
    586               v = tp.oNode.getChildren(aName); 
     606              v = DOMUtil.getChildElements(aName, tp.oNode.getDOMElement()); 
    587607            } 
    588608            else if (tp.oNode.getChild("CustomAttributes") != null) { 
    589               v = tp.oNode.getChild("CustomAttributes").getChildren(aName); 
    590             } 
     609              v = DOMUtil.getChildElements(aName,  
     610                tp.oNode.getChild("CustomAttributes").getDOMElement()); 
     611            } 
     612             
     613//            System.out.println("These elements were found for " + aName + ":" 
     614//              + v); 
    591615 
    592616            if (v.size() == 0) { 
     
    595619              //OMEXMLNode child classes 
    596620              OMEXMLNode n = null; 
     621              CustomAttributesNode caNode = null; 
     622              String unknownName = aName; 
    597623 
    598624              try { 
    599625                ReflectedUniverse r = new ReflectedUniverse(); 
    600                 String unknownName = e.getAttribute("XMLName"); 
    601626                if (unknownName.equals("Project") || 
    602627                  unknownName.equals("Feature") || 
     
    612637                } 
    613638                else { 
    614                   r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
    615                   r.exec("import org.openmicroscopy.xml.st." + 
    616                     unknownName + "Node"); 
     639 
    617640                  Element currentCA = DOMUtil.getChildElement("CustomAttributes", tp.oNode.getDOMElement()); 
    618641                  if (currentCA != null) { 
    619                     CustomAttributesNode caNode = new CustomAttributesNode(currentCA); 
     642                    caNode = new CustomAttributesNode(currentCA); 
     643                    r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
     644                    r.exec("import org.openmicroscopy.xml.st." + 
     645                      unknownName + "Node"); 
    620646                    r.setVar("parent", caNode); 
    621647                    r.exec("result = new " + unknownName + "Node(parent)"); 
     
    624650                  else { 
    625651                    Element cloneEle = DOMUtil.createChild(tp.oNode.getDOMElement(),"CustomAttributes"); 
    626                     CustomAttributesNode caNode = new CustomAttributesNode(cloneEle); 
     652                    caNode = new CustomAttributesNode(cloneEle); 
     653                    r.exec("import org.openmicroscopy.xml.CustomAttributesNode"); 
     654                    r.exec("import org.openmicroscopy.xml.st." + 
     655                      unknownName + "Node"); 
    627656                    r.setVar("parent", caNode); 
    628657                    r.exec("result = new " + unknownName + "Node(parent)"); 
     
    631660                } 
    632661              } 
    633               catch (Exception exc) { exc.printStackTrace(); } 
    634  
     662              catch (Exception exc) { 
     663                System.out.println(exc.toString()); 
     664              } 
     665              if (caNode != null && n == null) { 
     666                n = new AttributeNode(caNode, unknownName); 
     667//                System.out.println("Was not found in file: " + n); 
     668              } 
    635669              TablePanel p = new TablePanel(e, tp, n); 
    636670              iHoldTables.add(p); 
     
    638672            else { 
    639673              for(int j = 0;j<v.size();j++) { 
    640                 OMEXMLNode n = (OMEXMLNode) v.get(j); 
     674                Element anEle = (Element) v.get(j); 
     675                 
     676                      OMEXMLNode n = null; 
     677                      String unknownName = aName; 
     678         
     679                      try { 
     680                        ReflectedUniverse r = new ReflectedUniverse(); 
     681                        if (unknownName.equals("Project") || 
     682                          unknownName.equals("Feature") || 
     683                          unknownName.equals("CustomAttributes") || 
     684                          unknownName.equals("Dataset") || 
     685                          unknownName.equals("Image")) 
     686                        { 
     687                          r.exec("import org.openmicroscopy.xml." + 
     688                            unknownName + "Node"); 
     689                          r.setVar("DOMElement", anEle); 
     690                          r.exec("result = new " + unknownName + "Node(DOMElement)"); 
     691                          n = (OMEXMLNode) r.getVar("result"); 
     692                        } 
     693                        else { 
     694                            r.exec("import org.openmicroscopy.xml.st." + 
     695                              unknownName + "Node"); 
     696                            r.setVar("DOMElement", anEle); 
     697                            r.exec("result = new " + unknownName + "Node(DOMElement)"); 
     698                            n = (OMEXMLNode) r.getVar("result"); 
     699                        } 
     700                      } 
     701                      catch (Exception exc) { 
     702                        System.out.println(exc.toString()); 
     703                      } 
     704                      if (n == null) { 
     705                        n = new AttributeNode(anEle); 
     706//                      System.out.println("Was found in file: " + n); 
     707                      } 
    641708 
    642709                TablePanel p = new TablePanel(e, tp, n); 
     
    892959    public Element el; 
    893960    public Boolean isTopLevel; 
     961    private JButton noteButton; 
    894962 
    895963    public TablePanel(Element e, TabPanel tp, OMEXMLNode on) { 
     
    9671035        tHead.setResizingAllowed(false); 
    9681036        tHead.setReorderingAllowed(false); 
    969         JButton noteButton = new JButton("Notes"); 
    970         noteButton.setPreferredSize(new Dimension(70,15)); 
     1037        noteButton = new JButton("Notes"); 
     1038        noteButton.setPreferredSize(new Dimension(85,15)); 
    9711039        noteButton.addActionListener(this); 
    9721040        noteButton.setActionCommand("getNotes"); 
     
    10831151          tHead.setResizingAllowed(false); 
    10841152          tHead.setReorderingAllowed(false); 
    1085           JButton noteButton = new JButton("Notes"); 
    1086           noteButton.setPreferredSize(new Dimension(70,15)); 
     1153          noteButton = new JButton("Notes"); 
     1154          noteButton.setPreferredSize(new Dimension(85,15)); 
    10871155          noteButton.addActionListener(this); 
    10881156          noteButton.setActionCommand("getNotes"); 
     
    11021170      noteP = new NotePanel(this); 
    11031171      builder.add(noteP, cc.xyw(1,7,4, "fill,center")); 
     1172      setNumNotes(noteP.getNumNotes()); 
    11041173       
    11051174      add(builder.getPanel()); 
     
    11141183          String attrName = (String) model.getValueAt(i,0); 
    11151184          String value = null; 
    1116           if(oNode != null) oNode.getAttribute(attrName); 
     1185          if(oNode != null) value = oNode.getAttribute(attrName); 
    11171186          for(int j = 0;j < panelsWithID.size();j++) { 
    11181187            TablePanel tp = (TablePanel) panelsWithID.get(j); 
     
    11321201          addItems, oNode, internalDefs)); 
    11331202      } 
     1203    } 
     1204     
     1205    public void setNumNotes(int n) { 
     1206      noteButton.setText("Notes (" + n + ")"); 
    11341207    } 
    11351208 
  • trunk/loci/ome/notebook/Samples

    • Property svn:ignore set to
      *.tiff.xml
      *.ome
      *.tmp
  • trunk/loci/ome/notebook/Template.xml

    r1194 r1199  
    3737                        <OMEAttribute XMLName="PixelType" Description="Describes the type of pixels used."/> 
    3838                </OMEElement> 
    39 <!-- 
    4039                <OMEElement XMLName="LaserCoordinates" Description=""> 
    4140                        <OMEAttribute XMLName="ID" Type="ID"/> 
     
    4847                        <OMEAttribute XMLName="TheT" Description="The time point of the event."/> 
    4948                </OMEElement> 
    50 --> 
    5149        </OMEElement> 
    5250        <OMEElement XMLName="Experiment" Description="Describes the experiment."> 
Note: See TracChangeset for help on using the changeset viewer.