/** * CompactibilityInputDialog.java * Created On 2006, Jun 3, 2006 3:26:28 PM * @author E. Rajasekar */ package app.astrosoft.ui.dlg; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.JTextField; import javax.swing.SpringLayout; import app.astrosoft.beans.BirthData; import app.astrosoft.consts.DisplayStrings; import app.astrosoft.consts.Language; import app.astrosoft.consts.Nakshathra; import app.astrosoft.consts.Rasi; import app.astrosoft.core.Horoscope; import app.astrosoft.ui.AstroSoft; import app.astrosoft.ui.comp.BirthDataPanel; import app.astrosoft.ui.comp.RasiNakshathraChooser; import app.astrosoft.ui.util.SpringUtilities; import app.astrosoft.ui.util.UIConsts; import app.astrosoft.ui.util.UIUtil; public class CompactibilityInputDialog extends AstrosoftDialog { private static final Dimension dlgSize = new Dimension(660,420); private static final Dimension panelSize = new Dimension(dlgSize.width - 10 , dlgSize.height ); private static final Dimension couplePanelSize = new Dimension(((int)panelSize.width / 2) , panelSize.height - 90); private JTabbedPane tabbedPane; private BirthDataPanel boyDataPanel; private BirthDataPanel girlDataPanel; private RasiNakshathraChooser bRasiNakChooser; private RasiNakshathraChooser gRasiNakChooser; private JButton horOkButton = new JButton(DisplayStrings.OK_STR.toString()); private JButton starOkButton = new JButton(DisplayStrings.OK_STR.toString()); private JTextField boyName = new JTextField(14); private JTextField girlName = new JTextField(14); /*private boolean hasBirthData = false; private boolean hasStarData = false; private String bName; private String gName; private Rasi boyRasi; private Rasi girlRasi; private Nakshathra boyNak; private Nakshathra girlNak; private BirthData boyBirthData; private BirthData girlBirthData; private CompactibilityInputDialog(AstroSoft parent, boolean hasBirthData, boolean hasStarData){ super( parent, "Enter Birth Details", dlgSize ); this.hasBirthData= hasBirthData; this.hasStarData = hasStarData; initComponents(); addComponents(); setVisible(true); }*/ public CompactibilityInputDialog(AstroSoft parent){ super( parent, "Enter Birth Details", dlgSize ); initComponents(); addComponents(); setVisible(true); } public CompactibilityInputDialog(AstroSoft parent, String boyName, String girlName, Rasi boyRasi, Rasi girlRasi, Nakshathra boyNak, Nakshathra girlNak){ this(parent); this.boyName.setText(boyName); this.girlName.setText(girlName); bRasiNakChooser.setSelectedRasiNakshthra(boyRasi, boyNak); gRasiNakChooser.setSelectedRasiNakshthra(girlRasi, girlNak); tabbedPane.setSelectedIndex(1); } public CompactibilityInputDialog(AstroSoft parent, BirthData boyBirthData, BirthData girlBirthData){ this(parent); boyDataPanel.setBirthData(boyBirthData); girlDataPanel.setBirthData(girlBirthData); } private void initComponents() { tabbedPane = new JTabbedPane(); horOkButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { Horoscope boyHoroscope = new Horoscope(boyDataPanel.getBirthData()); Horoscope girlHoroscope = new Horoscope(girlDataPanel.getBirthData()); parent.displayCompactibility(boyHoroscope, girlHoroscope); closeDialog(); } }); starOkButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { Rasi bRasi = bRasiNakChooser.getSelectedRasi(); Rasi gRasi = gRasiNakChooser.getSelectedRasi(); Nakshathra bNak = bRasiNakChooser.getSelectedNakshathra(); Nakshathra gNak = gRasiNakChooser.getSelectedNakshathra(); parent.displayCompactibility(boyName.getText(), girlName.getText(), bRasi, gRasi, bNak, gNak); closeDialog(); } }); } private void addComponents() { dlgPanel.setLayout(new FlowLayout()); tabbedPane.add(DisplayStrings.HOROSCOPE_STR.toString(), createHoroscopePanel()); tabbedPane.add(DisplayStrings.STAR_STR.toString(), createStarPanel()); dlgPanel.add(tabbedPane); //dlgPanel.add(okButton); add(dlgPanel); setBackground(UIConsts.THEME_CLR); } private JPanel createHoroscopePanel(){ JPanel p = new JPanel(new BorderLayout()); boyDataPanel = new BirthDataPanel(couplePanelSize, DisplayStrings.BOY_DATA_STR.toString()); girlDataPanel = new BirthDataPanel(couplePanelSize, DisplayStrings.GIRL_DATA_STR.toString()); p.add(boyDataPanel, BorderLayout.WEST); p.add(girlDataPanel, BorderLayout.EAST); //boyDataPanel.setPreferredSize(couplePanelSize); //girlDataPanel.setPreferredSize(couplePanelSize); JPanel okButtonPanel = new JPanel(); okButtonPanel.add(horOkButton); p.add(okButtonPanel, BorderLayout.PAGE_END); UIUtil.setPanelBackground(p, UIConsts.THEME_CLR); return p; } private JPanel createStarPanel(){ JPanel p = new JPanel(new BorderLayout()); bRasiNakChooser = new RasiNakshathraChooser(new Dimension(couplePanelSize.width - 12 ,couplePanelSize.height -150)); gRasiNakChooser = new RasiNakshathraChooser(new Dimension(couplePanelSize.width - 12,couplePanelSize.height - 150)); JPanel boyPanel = new JPanel(new BorderLayout()); JPanel girlPanel = new JPanel(new BorderLayout()); JPanel bNamePanel = new JPanel(); JPanel gNamePanel = new JPanel(); bNamePanel.add(new JLabel(" " + DisplayStrings.NAME_STR.toString(Language.ENGLISH) + " ")); bNamePanel.add(boyName); boyPanel.add(bNamePanel, BorderLayout.PAGE_START); boyPanel.add(bRasiNakChooser, BorderLayout.CENTER); gNamePanel.add(new JLabel(" " + DisplayStrings.NAME_STR.toString(Language.ENGLISH)+ " ")); gNamePanel.add(girlName); //SpringUtilities.makeGrid(bNamePanel, 1, 2, 5,5,0,0); //SpringUtilities.makeGrid(gNamePanel, 1, 2, 5,5,0,0); girlPanel.add(gNamePanel, BorderLayout.PAGE_START); girlPanel.add(gRasiNakChooser, BorderLayout.CENTER); boyPanel.setBorder(UIConsts.getTitleBorder(DisplayStrings.BOY_DATA_STR)); girlPanel.setBorder(UIConsts.getTitleBorder(DisplayStrings.GIRL_DATA_STR)); p.add(boyPanel, BorderLayout.WEST); p.add(girlPanel, BorderLayout.EAST); JPanel okButtonPanel = new JPanel(); okButtonPanel.add(starOkButton); p.add(okButtonPanel, BorderLayout.PAGE_END); UIUtil.setPanelBackground(p, UIConsts.THEME_CLR); return p; } }