From: Stephen C. <cr...@us...> - 2005-11-03 12:17:54
|
Update of /cvsroot/lexi/lexi/src/com/jmonkey/office/lexi/support In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30855/src/com/jmonkey/office/lexi/support Modified Files: NewDialog.java Log Message: The 'File>New' menu item now fires up a dialog that allows the user to select the type of document to be created. Index: NewDialog.java =================================================================== RCS file: /cvsroot/lexi/lexi/src/com/jmonkey/office/lexi/support/NewDialog.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** NewDialog.java 31 Oct 2005 14:34:41 -0000 1.7 --- NewDialog.java 3 Nov 2005 12:17:46 -0000 1.8 *************** *** 26,41 **** package com.jmonkey.office.lexi.support; import java.awt.BorderLayout; - import java.awt.Color; import java.awt.Container; ! import java.awt.FlowLayout; import javax.swing.BoxLayout; ! import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; - import com.jmonkey.office.lexi.support.images.Loader; /** --- 26,46 ---- package com.jmonkey.office.lexi.support; + import java.awt.BorderLayout; import java.awt.Container; ! import java.awt.GridBagConstraints; ! import java.awt.GridBagLayout; ! import java.awt.event.ActionEvent; ! import java.awt.event.ActionListener; import javax.swing.BoxLayout; ! import javax.swing.JCheckBox; import javax.swing.JButton; + import javax.swing.JDialog; import javax.swing.JFrame; + import javax.swing.JLabel; import javax.swing.JPanel; + import javax.swing.SwingConstants; /** *************** *** 44,93 **** * @author Matthew Schmidt */ ! public class NewDialog extends JFrame { ! JButton m_plain, m_rtf, m_html; ! JButton m_ok, m_cancel; ! public NewDialog(FileActionListener listen) { ! super("Start a new File.."); ! setSize(300, 200); ! setLocation(45, 20); ! // Make the left panel ! JPanel left = new JPanel(); ! left.setLayout(new FlowLayout()); ! left.setBackground(Color.black); ! // Make the buttons ! ImageIcon newDocIcon = new ImageIcon(Loader.load("new_document16.gif")); ! m_plain = new JButton(newDocIcon); ! m_rtf = new JButton(newDocIcon); ! m_html = new JButton(newDocIcon); ! // Add the buttons to the panel ! left.add(m_plain); ! left.add(m_rtf); ! left.add(m_html); // Make a panel to the right. ! JPanel right = new JPanel(); ! right.setLayout(new BoxLayout(right, BoxLayout.Y_AXIS)); ! right.setBackground(Color.black); // Make the buttons m_ok = new JButton("Ok"); ! m_cancel = new JButton("Cancel"); ! // Add the buttons to the other panel ! right.add(m_ok); ! right.add(m_cancel); // Make our Frame show up Container pane = getContentPane(); - pane.setBackground(Color.black); pane.setLayout(new BorderLayout()); ! pane.add(left, BorderLayout.WEST); ! pane.add(right, BorderLayout.EAST); setVisible(true); } } --- 49,176 ---- * @author Matthew Schmidt */ ! public class NewDialog extends JDialog implements ActionListener { ! private JCheckBox m_plain, m_rtf, m_html; ! private JButton m_ok, m_cancel; ! private String m_chosenContentType; ! public NewDialog(JFrame owner, String initialSelection) { ! super(owner, "Select file type", true); ! ! // Make the top panel ! JPanel top = new JPanel(); ! GridBagLayout gridbag = new GridBagLayout(); ! GridBagConstraints c1 = new GridBagConstraints(); ! GridBagConstraints c2 = new GridBagConstraints(); ! c1.weightx = 0.0; ! c2.weightx = 1.0; ! c2.anchor = GridBagConstraints.WEST; ! c2.gridwidth = GridBagConstraints.REMAINDER; ! top.setLayout(gridbag); ! // Make the checkboxes and labels ! m_plain = new JCheckBox(); ! m_plain.setActionCommand("plain"); ! m_plain.addActionListener(this); ! JLabel plainLabel = new JLabel("text/plain", SwingConstants.LEFT); ! m_rtf = new JCheckBox(); ! m_rtf.setActionCommand("rtf"); ! m_rtf.addActionListener(this); ! JLabel rtfLabel = new JLabel("text/rtf", SwingConstants.LEFT); ! m_html = new JCheckBox(); ! m_html.setActionCommand("html"); ! m_html.addActionListener(this); ! JLabel htmlLabel = new JLabel("text/html", SwingConstants.LEFT); ! ! // Set boxes according to the initialSetting string ! if (initialSelection.equals("text/plain")) { ! m_plain.setSelected(true); ! } ! else if (initialSelection.equals("text/rtf")) { ! m_rtf.setSelected(true); ! } ! else if (initialSelection.equals("text/html")) { ! m_html.setSelected(true); ! } ! ! // Add the checkboxes and labels to the top panel ! top.add(m_plain, c1); ! top.add(plainLabel, c2); ! top.add(m_rtf, c1); ! top.add(rtfLabel, c2); ! top.add(m_html, c1); ! top.add(htmlLabel, c2); // Make a panel to the right. ! JPanel bottom = new JPanel(); ! bottom.setLayout(new BoxLayout(bottom, BoxLayout.X_AXIS)); // Make the buttons m_ok = new JButton("Ok"); ! m_ok.setActionCommand("ok"); ! m_ok.addActionListener(this); ! m_cancel = new JButton("Cancel"); ! m_cancel.setActionCommand("cancel"); ! m_cancel.addActionListener(this); ! ! // Add the buttons to the bottom panel ! bottom.add(m_ok); ! bottom.add(m_cancel); // Make our Frame show up Container pane = getContentPane(); pane.setLayout(new BorderLayout()); ! pane.add(top, BorderLayout.CENTER); ! pane.add(bottom, BorderLayout.SOUTH); ! setLocation(45, 20); ! pack(); ! // setSize(140, 110); setVisible(true); } + + public void actionPerformed(ActionEvent event) { + String command = event.getActionCommand(); + if (command.equals("cancel")) { + m_chosenContentType = null; + doExit(); + } + else if (command.equals("ok")) { + if (m_plain.isSelected()) { + m_chosenContentType = "text/plain"; + } + else if (m_rtf.isSelected()) { + m_chosenContentType = "text/rtf"; + } + else if (m_html.isSelected()) { + m_chosenContentType = "text/html"; + } + else { + m_chosenContentType = null; + } + doExit(); + } + else if (command.equals("plain")) { + m_rtf.setSelected(false); + m_html.setSelected(false); + } + else if (command.equals("rtf")) { + m_plain.setSelected(false); + m_html.setSelected(false); + } + else if (command.equals("html")) { + m_rtf.setSelected(false); + m_plain.setSelected(false); + } + } + + private void doExit() { + dispose(); + } + + public String getChosenContentType() { + return m_chosenContentType; + } } |