Changeset 2645


Ignore:
Timestamp:
04/19/07 13:02:22 (13 years ago)
Author:
melissa
Message:
  • Load default template from an InputStream, not a File.
  • Don't switch tabs when adding/removing groups.
Location:
trunk/loci/ome/notebook
Files:
3 edited

Legend:

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

    r2629 r2645  
    144144    } 
    145145    else { 
    146       try { 
    147         loadTemplate(new File(new URI(Notebook.class.getResource( 
    148           DEFAULT_TEMPLATE).toString())).getAbsolutePath()); 
    149       } 
    150       catch (URISyntaxException e) { 
    151         e.printStackTrace(); 
    152       } 
     146      templateName = DEFAULT_TEMPLATE;  
     147      loadTemplate(Notebook.class.getResourceAsStream(DEFAULT_TEMPLATE)); 
    153148    } 
    154149   
     
    175170 
    176171    // parse the template file  
    177     loadTemplate(new Template(filename)); 
     172    try {  
     173      loadTemplate(new Template(filename)); 
     174    } 
     175    catch (IOException e) { 
     176      e.printStackTrace(); 
     177    } 
     178  } 
     179 
     180  /** Load and apply a template from the specified InputStream. */ 
     181  public void loadTemplate(InputStream stream) { 
     182    progress.setString("Loading template..."); 
     183    try { 
     184      loadTemplate(new Template(stream)); 
     185    } 
     186    catch (IOException e) { 
     187      e.printStackTrace(); 
     188    } 
    178189  } 
    179190 
     
    296307        if (f.getRow() != -1) {  
    297308          panel.add(new JLabel(f.getName()),  
    298             cc.xyw(f.getColumn() + 1, f.getRow() + 1, paddingColumns + 1)); 
     309            cc.xyw(f.getColumn(), f.getRow(), paddingColumns + 1)); 
    299310          panel.add(f.getComponent(),  
    300             cc.xyw(f.getColumn() + 2, f.getRow() + 1, 2)); 
     311            cc.xyw(f.getColumn() + 1, f.getRow(), 2)); 
    301312        }  
    302313        else { 
     
    478489      TemplateGroup group = tab.getGroup(groupIndex); 
    479490      group.setRepetitions(group.getRepetitions() + 1); 
     491       
     492      int tabIdx = tabPane.getSelectedIndex();  
     493       
    480494      loadTemplate(currentTemplate);  
    481495      try {  
     
    485499        exc.printStackTrace(); 
    486500      } 
     501 
     502      tabPane.setSelectedIndex(tabIdx);  
    487503    }  
    488504    else if (cmd.startsWith("removeGroup")) { 
     
    494510      TemplateGroup group = tab.getGroup(groupIndex); 
    495511      group.setRepetitions(group.getRepetitions() - 1);   
     512       
     513      int tabIdx = tabPane.getSelectedIndex();  
     514       
    496515      loadTemplate(currentTemplate);  
    497516      try {  
     
    501520        exc.printStackTrace(); 
    502521      } 
     522       
     523      tabPane.setSelectedIndex(tabIdx); 
    503524    } 
    504525 
  • trunk/loci/ome/notebook/Template.java

    r2630 r2645  
    7070 
    7171  /** Constructs a new Template from the given filename. */ 
    72   public Template(String file) { 
     72  public Template(String file) throws IOException { 
    7373    this(new File(file).getAbsoluteFile()); 
    7474  } 
    7575 
    7676  /** Constructs a new Template from the given file. */ 
    77   public Template(File file) { 
     77  public Template(File file) throws IOException { 
     78    this(new FileInputStream(file)); 
     79  } 
     80 
     81  /** Constructs a new Template from the given InputStream. */ 
     82  public Template(InputStream stream) throws IOException { 
    7883    options = new Hashtable();  
    7984     
    80     if (file.exists()) { 
    81       try {  
    82         parse(new FileInputStream(file)); 
    83       } 
    84       catch (IOException io) { 
    85         io.printStackTrace(); 
    86       } 
     85    try {  
     86      parse(stream); 
     87    } 
     88    catch (IOException io) { 
     89      io.printStackTrace(); 
    8790    } 
    8891  } 
     
    454457      CustomAttributesNode ca = root.getCustomAttributes(); 
    455458 
    456       Vector elements = DOMUtil.getChildElements("NotebookField",  
    457         ca.getDOMElement()); 
    458       for (int i=0; i<elements.size(); i++) { 
    459         Element el = (Element) elements.get(i); 
    460         if (DOMUtil.getAttribute("name", el).equals(t.getName())) { 
    461           String v = DOMUtil.getAttribute("value", el);  
    462           setComponentValue(t, t.getComponent(), v);   
     459      if (ca != null) { 
     460        Vector elements = DOMUtil.getChildElements("NotebookField",  
     461          ca.getDOMElement()); 
     462        for (int i=0; i<elements.size(); i++) { 
     463          Element el = (Element) elements.get(i); 
     464          if (DOMUtil.getAttribute("name", el).equals(t.getName())) { 
     465            String v = DOMUtil.getAttribute("value", el);  
     466            setComponentValue(t, t.getComponent(), v);   
     467          } 
    463468        } 
    464469      } 
  • trunk/loci/ome/notebook/TemplateField.java

    r2629 r2645  
    2929/** Stores information about a template field. */ 
    3030public class TemplateField { 
    31  
    32   // -- Constants -- 
    33  
    34   /** Number of columns in a text area. */ 
    35   private static final int NUM_COLUMNS = 10; 
    36  
    37   /** Number of rows in a text area. */ 
    38   private static final int NUM_ROWS = 1; 
    3931 
    4032  // -- Fields -- 
     
    8476        else if (key.startsWith("map")) omecaMap = value;  
    8577        else if (key.startsWith("grid")) { 
    86           row = Integer.parseInt(value.substring(1, value.indexOf(","))); 
    87           column = Integer.parseInt(value.substring(value.indexOf(",") + 1,  
    88             value.length() - 1)); 
     78          row = Integer.parseInt(value.substring(0, value.indexOf(","))); 
     79          column = Integer.parseInt(value.substring(value.indexOf(",") + 1)); 
    8980        } 
    9081        else if (key.startsWith("values")) { 
     
    115106     
    116107    if (type.equals("var")) { 
    117       JTextArea text =  
    118         new JTextArea((String) defaultValue, NUM_COLUMNS, NUM_ROWS); 
     108      JTextArea text = new JTextArea((String) defaultValue);  
    119109      component = new JScrollPane(); 
    120110      ((JScrollPane) component).getViewport().add(text); 
     
    148138    JComponent comp = null; 
    149139    if (type.equals("var")) { 
    150       JTextArea text =  
    151         new JTextArea((String) defaultValue, NUM_COLUMNS, NUM_ROWS); 
     140      JTextArea text = new JTextArea((String) defaultValue);  
    152141      comp = new JScrollPane(); 
    153142      ((JScrollPane) comp).getViewport().add(text); 
Note: See TracChangeset for help on using the changeset viewer.