Subversion Repositories wimsdev

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.     Sketch Elements: Chemistry molecular diagram drawing tool.
  3.    
  4.     (c) 2008 Dr. Alex M. Clark
  5.    
  6.     Released as GNUware, under the Gnu Public License (GPL)
  7.    
  8.     See www.gnu.org for details.
  9. */
  10.  
  11. package WIMSchem.ds;
  12.  
  13. import WIMSchem.*;
  14.  
  15. import java.io.*;
  16. import java.awt.*;
  17. import java.util.*;
  18. import java.awt.event.*;
  19. import javax.swing.*;
  20. import javax.swing.event.*;
  21. import javax.swing.table.*;
  22.  
  23. /*
  24.     A dialog box which allows the summary information about a database to be edited.
  25. */
  26.  
  27. public class DialogEditSummary extends JDialog implements ActionListener
  28. {
  29.     private JTextField txtTitle;
  30.     private JTextArea txtDescr;
  31.    
  32.     private JButton baccept,breject;
  33.    
  34.     private String resultTitle=null,resultDescr=null;
  35.    
  36.     public DialogEditSummary(Frame Parent,DataSheet DS)
  37.     {
  38.         super(Parent,"Edit DataSheet Summary",true);
  39.        
  40.         setLayout(new BorderLayout());
  41.        
  42.         JLineup edits=new JLineup(JLineup.VERTICAL,1);
  43.         edits.add(txtTitle=new JTextField(DS.getTitle()),"Title:",1,0);
  44.         txtDescr=new JTextArea(DS.getDescription());
  45.         txtDescr.setMinimumSize(new Dimension(300,200));
  46.         txtDescr.setPreferredSize(new Dimension(300,200));
  47.         edits.add(new JScrollPane(txtDescr),"Description:",1,1);
  48.        
  49. /* !!! aaarrgh 
  50.         JPanel edits=new JPanel();
  51.         GridBagLayout gb=new GridBagLayout();
  52.         edits.setLayout(gb);
  53.  
  54.         GridBagConstraints gc=new GridBagConstraints();
  55.         gc.fill=GridBagConstraints.BOTH;
  56.         gc.weighty=0.0;
  57.         gc.insets=new Insets(1,1,1,1);
  58.  
  59.         gc.gridwidth=GridBagConstraints.RELATIVE;
  60.         gc.weightx=0.0;
  61.         JLabel label=new JLabel("Title:");
  62.         gb.setConstraints(label,gc);
  63.         edits.add(label);
  64.        
  65.         gc.gridwidth=GridBagConstraints.REMAINDER;
  66.         gc.weightx=1.0;
  67.         txtTitle=new JTextField(DS.getTitle());
  68.         gb.setConstraints(txtTitle,gc);
  69.         edits.add(txtTitle);
  70.        
  71.         gc.gridwidth=GridBagConstraints.RELATIVE;
  72.         gc.weightx=0.0;
  73.         label=new JLabel("Description:");
  74.         label.setVerticalAlignment(JLabel.TOP);
  75.         gb.setConstraints(label,gc);
  76.         edits.add(label);
  77.        
  78.         gc.weightx=1.0;
  79.         gc.weighty=1.0;
  80.         gc.gridwidth=GridBagConstraints.REMAINDER;
  81.         gc.gridheight=GridBagConstraints.REMAINDER;
  82.         txtDescr=new JTextArea(DS.getDescription());
  83.         txtDescr.setMinimumSize(new Dimension(300,200));
  84.         txtDescr.setPreferredSize(new Dimension(300,200));
  85.         JScrollPane scrDescr=new JScrollPane(txtDescr);
  86.         gb.setConstraints(scrDescr,gc);
  87.         edits.add(scrDescr);
  88. */
  89.    
  90.         JPanel buttons=new JPanel();
  91.         buttons.setLayout(new FlowLayout(FlowLayout.RIGHT));
  92.         baccept=new JButton("Accept"); baccept.addActionListener(this); baccept.setMnemonic(KeyEvent.VK_A);
  93.         breject=new JButton("Reject"); breject.addActionListener(this); breject.setMnemonic(KeyEvent.VK_R);
  94.  
  95.         buttons.add(baccept);
  96.         buttons.add(breject);
  97.  
  98.         add(edits,BorderLayout.CENTER);
  99.         add(buttons,BorderLayout.SOUTH);
  100.        
  101.         pack();
  102.     }
  103.  
  104.     // returns true if the datasheet has changed
  105.     public boolean execute()
  106.     {
  107.         setVisible(true);
  108.         return resultTitle!=null && resultDescr!=null;
  109.     }
  110.  
  111.     public String resultTitle() {return resultTitle;}
  112.     public String resultDescr() {return resultDescr;}
  113.  
  114.     public void actionPerformed(ActionEvent e)
  115.     {
  116.         if (e.getSource()==baccept)
  117.         {
  118.             resultTitle=txtTitle.getText();
  119.             resultDescr=txtDescr.getText();
  120.             setVisible(false);
  121.         }
  122.         else if (e.getSource()==breject) setVisible(false);
  123.     }
  124. }
  125.