|
|
| version 1.1, 2003/12/05 11:46:39 | version 1.2, 2003/12/10 12:24:41 |
|---|---|
| Line 67 public class FM2SQL extends JFrame imple | Line 67 public class FM2SQL extends JFrame imple |
| Vector tables = new Vector(); | Vector tables = new Vector(); |
| Vector layouts = new Vector(); | Vector layouts = new Vector(); |
| JPanel listPanel; | JPanel listPanel; |
| JPanel topPanel, contentPanel; | JPanel topPanel,topPanel2, contentPanel; |
| JScrollPane paneDest; | |
| FM2SQL fm = this; | FM2SQL fm = this; |
| boolean noDBUpdate = false; | boolean noDBUpdate = false; |
| boolean noUserUpdate = false; | boolean noUserUpdate = false; |
| Line 102 public class FM2SQL extends JFrame imple | Line 103 public class FM2SQL extends JFrame imple |
| */ | */ |
| public FM2SQL() throws Exception | public FM2SQL() throws Exception |
| { | { |
| initializeGUI();if(true)return; | |
| Image local = getToolkit().getImage(getClass().getResource("icons/fm.jpg")); | Image local = getToolkit().getImage(getClass().getResource("icons/fm.jpg")); |
| if (local != null); | if (local != null); |
| setIconImage(local); | setIconImage(local); |
| Line 140 public class FM2SQL extends JFrame imple | Line 143 public class FM2SQL extends JFrame imple |
| tC.sizeToFit(450, 250); | tC.sizeToFit(450, 250); |
| tC.tableModel.addTableModelListener(this); | tC.tableModel.addTableModelListener(this); |
| JPanel dataBasePanel = new JPanel(); | JPanel dataBasePanel = new JPanel(); |
| dataBasePanel.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 2)); | dataBasePanel.setLayout(new BoxLayout(dataBasePanel,BoxLayout.LINE_AXIS)); |
| dataBasePanel.add(Box.createRigidArea(new Dimension(10, 0))); | dataBasePanel.add(Box.createRigidArea(new Dimension(10, 0))); |
| dataBasePanel.add(new JLabel("Choose src database: ")); | dataBasePanel.add(new JLabel("Choose src database: ")); |
| dataBasePanel.add(box3); | dataBasePanel.add(box3); |
| Line 278 public class FM2SQL extends JFrame imple | Line 281 public class FM2SQL extends JFrame imple |
| // repaint(); | // repaint(); |
| } | } |
| public void initializeGUI() throws Exception | |
| { | |
| Image local = getToolkit().getImage(getClass().getResource("icons/fm.jpg")); | |
| if (local != null); | |
| setIconImage(local); | |
| bean = new DBBean(); | |
| destBean = new DBBean(); | |
| box2 = new JComboBox(); | |
| box3 = new JComboBox(new String[] { "jdbc:fmpro:http://141.14.237.74:8050", "jdbc:fmpro:http://localhost", "jdbc:postgresql://foxridge/test" }); | |
| box3.setEditable(true); | |
| box4 = new JComboBox(new String[] { "jdbc:postgresql://foxridge/test", "jdbc:postgresql://erebos/test1" }); | |
| box4.setEditable(true); | |
| box4.addActionListener(this); | |
| table = new TableComponent(); | |
| box = new JComboBox(tables); | |
| box.addActionListener(this); | |
| box2.addActionListener(this); | |
| box3.addActionListener(this); | |
| contentPanel = new JPanel(); | |
| contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS)); | |
| box3.setMinimumSize(new Dimension(450, 20)); | |
| box3.setMaximumSize(new Dimension(550, 20)); | |
| box3.setPreferredSize(new Dimension(450, 20)); | |
| box4.setMinimumSize(new Dimension(450, 20)); | |
| box4.setMaximumSize(new Dimension(550, 20)); | |
| box4.setPreferredSize(new Dimension(450, 20)); | |
| paneDest = new JScrollPane(tListDest); | |
| tListDest.setPreferredSize(paneDest.getPreferredSize()); | |
| // paneDest.setPreferredSize(new Dimension(350, 365)); | |
| Dimension dim = paneDest.getPreferredSize(); | |
| paneDest.setMinimumSize(dim); | |
| //paneDest.setMaximumSize(new Dimension(dim.width + 50, dim.height + 50)); | |
| tC = new TableComponent(); | |
| tC.sizeToFit(450, 250); | |
| tC.tableModel.addTableModelListener(this); | |
| JPanel destPanel = new JPanel(); | |
| destPanel.setLayout(new java.awt.GridBagLayout()); | |
| listPanel = new JPanel(); | |
| listPanel.setLayout(new java.awt.GridBagLayout()); | |
| java.awt.GridBagConstraints gbc = new java.awt.GridBagConstraints(); | |
| JScrollPane pane = new JScrollPane(tList); | |
| tC.tableScroller.setPreferredSize(new Dimension(450, 365)); | |
| //tC.table.revalidate(); | |
| tC.tableScroller.setMinimumSize(new Dimension(450, 250)); | |
| // tC.tableScroller.setMaximumSize(tC.tableScroller.getPreferredSize()); | |
| topPanel = new JPanel(); | |
| topPanel.setLayout(new GridBagLayout()); | |
| topPanel2 = new JPanel(); | |
| topPanel2.setLayout(new GridBagLayout()); | |
| gbc.gridx = 0; | |
| gbc.gridy = 0; | |
| gbc.weightx = 0.1; | |
| gbc.weighty = 0.1; | |
| gbc.gridwidth = 1; | |
| gbc.gridheight = 1; | |
| gbc.insets = new Insets(2, 2, 5, 5); | |
| gbc.ipadx = 1; | |
| gbc.ipady = 1; | |
| gbc.anchor = GridBagConstraints.WEST; | |
| listPanel.add(topPanel, gbc); | |
| destPanel.add(topPanel2, gbc); | |
| topPanel.add(new JLabel("Choose src database: ", JLabel.CENTER), gbc); | |
| topPanel2.add(new JLabel("Choose dest database : ", JLabel.CENTER), gbc); | |
| gbc.anchor = GridBagConstraints.NORTHWEST; | |
| gbc.gridy = 1; | |
| topPanel.add(box3, gbc); | |
| topPanel2.add(box4, gbc); | |
| //gbc.gridx=GridBagConstraints.RELATIVE; | |
| //dataBasePanel.add(new JLabel(" select Tables to Convert ", JLabel.LEFT)); | |
| gbc.gridy = 1; | |
| gbc.anchor = GridBagConstraints.SOUTHWEST; | |
| listPanel.add(new JLabel(" select Tables to Convert ", JLabel.LEFT), gbc); | |
| destPanel.add(new JLabel(" Tables in database ", JLabel.LEFT), gbc); | |
| // gbc.anchor = GridBagConstraints.WEST; | |
| gbc.gridy = 2; | |
| gbc.gridx = 0; | |
| // gbc.weightx = 0.0; | |
| //dataBasePanel.add(tC); | |
| gbc.anchor = GridBagConstraints.NORTHWEST; | |
| gbc.gridheight = 1; | |
| gbc.fill = GridBagConstraints.BOTH; | |
| listPanel.add(tC.tableScroller, gbc); | |
| gbc.fill = GridBagConstraints.VERTICAL; | |
| destPanel.add(paneDest, gbc); | |
| showTables1 = new JButton("show Tables"); | |
| showTables1.setActionCommand("show Tables source"); | |
| // gbc.anchor = GridBagConstraints.NORTH; | |
| // gbc.weightx = 0.0; | |
| gbc.fill = GridBagConstraints.NONE; | |
| gbc.gridheight = 1; | |
| gbc.gridx = 0; | |
| gbc.gridy = 2; | |
| topPanel.add(showTables1, gbc); | |
| JPanel buttonPanel = new JPanel(); | |
| buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); | |
| buttonPanel.setMinimumSize(new Dimension(200, 20)); | |
| convert = new JButton("Convert Tables"); | |
| showTables = new JButton("show Tables"); | |
| dropTables = new JButton("drop Tables"); | |
| // System.out.println(convert.getPreferredSize()); | |
| showTables.setMinimumSize(convert.getPreferredSize()); | |
| dropTables.setMinimumSize(convert.getPreferredSize()); | |
| showTables.setMaximumSize(convert.getPreferredSize()); | |
| dropTables.setMaximumSize(convert.getPreferredSize()); | |
| showTables.setPreferredSize(convert.getPreferredSize()); | |
| dropTables.setPreferredSize(convert.getPreferredSize()); | |
| showTables.addActionListener(fm); | |
| showTables1.addActionListener(fm); | |
| buttonPanel.add(showTables); | |
| buttonPanel.add(convert); | |
| convert.addActionListener(fm); | |
| dropTables.addActionListener(fm); | |
| buttonPanel.add(dropTables); | |
| topPanel2.add(buttonPanel, gbc); | |
| // gbc.anchor = GridBagConstraints.WEST; | |
| // gbc.gridy = 1; | |
| // gbc.gridx = 2; | |
| // gbc.weightx = 0.2; | |
| // gbc.gridx = 3; | |
| // gbc.anchor = GridBagConstraints.NORTHWEST; | |
| // gbc.gridy = 1; | |
| // gbc.weightx = 1.0; | |
| //listPanel.add(buttonPanel, gbc); | |
| JSplitPane splitter = new JSplitPane(); | |
| splitter.setTopComponent(listPanel); | |
| splitter.setBottomComponent(destPanel); | |
| // contentPanel.add(dataBasePanel); | |
| // contentPanel.add(listPanel); | |
| listPanel.setMaximumSize(new Dimension(660, 750)); | |
| listPanel.setMinimumSize(new Dimension(660, 250)); | |
| listPanel.setPreferredSize(new Dimension(480, 500)); | |
| paneDest.setPreferredSize(new Dimension(250, 285)); | |
| getContentPane().add(splitter, "Center"); | |
| this.addWindowListener(new WindowAdapter() | |
| { | |
| public void windowClosing(WindowEvent e) | |
| { | |
| System.exit(0); | |
| } | |
| }); | |
| addComponentListener(new ComponentAdapter() | |
| { | |
| public void componentResized(ComponentEvent e) | |
| { | |
| if (oldWidth != getWidth() || oldHeight != getHeight()) | |
| { | |
| table.sizeToFit(getWidth(), getHeight()); | |
| Dimension dim = table.table.getPreferredSize(); | |
| int size = contentPanel.getPreferredSize().height + new JScrollBar().getPreferredSize().height + new JMenuBar().getPreferredSize().height + 10; | |
| table.tableScroller.setPreferredSize(new Dimension(getWidth() - 15, getHeight() - size)); | |
| Dimension d2 = table.tableScroller.getPreferredSize(); | |
| oldWidth = getWidth(); | |
| oldHeight = getHeight(); | |
| table.setPreferredSize(new Dimension(d2.width + 15, d2.height + 5)); | |
| table.table.revalidate(); | |
| table.tableScroller.revalidate(); | |
| table.revalidate(); | |
| if (getHeight() > table.table.getPreferredSize().height + (2 * size)) | |
| setSize(getWidth(), table.table.getPreferredSize().height + 2 * size); | |
| // System.out.println("size" + size); | |
| } | |
| // listPanel.setMaximumSize(new Dimension(getPreferredSize().width - 5, 550)); | |
| // listPanel.setMinimumSize(new Dimension(getPreferredSize().width - 5, 200)); | |
| // listPanel.setPreferredSize(new Dimension(getPreferredSize().width - 5, 370)); | |
| tC.tableScroller.revalidate(); | |
| Dimension dim = getSize(); | |
| tC.tableScroller.setMinimumSize(new Dimension(dim.width, dim.height - topPanel.getPreferredSize().height - 100)); | |
| tC.tableScroller.setMaximumSize(getSize()); | |
| paneDest.setMinimumSize(new Dimension(dim.width, dim.height - topPanel2.getPreferredSize().height - 100)); | |
| paneDest.setMaximumSize(tC.tableScroller.getMaximumSize()); | |
| paneDest.validate(); | |
| // tC.tableScroller.setPreferredSize(getSize()); | |
| tC.sizeToFit(getWidth(), getHeight()); | |
| ((JPanel) getContentPane()).revalidate(); | |
| repaint(); | |
| setTitle("Filemaker 2 SQL Conversion Tool "); | |
| } | |
| }); | |
| setMenu(); | |
| //setSize(800, 600); | |
| pack(); | |
| setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2); | |
| //setVisible(true); | |
| validate(); | |
| // repaint(); | |
| } | |
| /** | /** |
| * | * |
| Line 468 public class FM2SQL extends JFrame imple | Line 685 public class FM2SQL extends JFrame imple |
| thread.start(); | thread.start(); |
| } | } |
| setTitle("Filemaker To Postgres Conversion Tool "); | setTitle("Filemaker 2 SQL Conversion Tool "); |
| // pack(); | // pack(); |
| } catch (Exception e4) | } catch (Exception e4) |
| Line 707 public class FM2SQL extends JFrame imple | Line 924 public class FM2SQL extends JFrame imple |
| ((DefaultComboBoxModel) box4.getModel()).removeElement(destObj); | ((DefaultComboBoxModel) box4.getModel()).removeElement(destObj); |
| ((DefaultComboBoxModel) box4.getModel()).insertElementAt(destObj,0); | ((DefaultComboBoxModel) box4.getModel()).insertElementAt(destObj,0); |
| box4.setSelectedItem(destObj); | box4.setSelectedItem(destObj); |
| //@TODO comboBox action Events should do nothing on config file read+combox in table should be updated | |
| databases.remove(destBase); | databases.remove(destBase); |
| for (Iterator iter = databases.iterator(); iter.hasNext();) | for (Iterator iter = databases.iterator(); iter.hasNext();) |
| { | { |
| Line 731 public class FM2SQL extends JFrame imple | Line 947 public class FM2SQL extends JFrame imple |
| String create =database.creates.get(i).toString(); | String create =database.creates.get(i).toString(); |
| tC.tableModel.setValueAt(new TableComponent.SQLCommand(create.equals("") ? create:" "+create),index,3); | tC.tableModel.setValueAt(new TableComponent.SQLCommand(create.equals("") ? create:" "+create),index,3); |
| Object comboBox=tC.tableModel.getValueAt(index,1); | Object comboBox=tC.tableModel.getValueAt(index,1); |
| //@TODO load old selection Status | |
| if(comboBox!=null) ((JComboBox)comboBox).setSelectedItem(database.layouts.get(i)); | if(comboBox!=null) ((JComboBox)comboBox).setSelectedItem(database.layouts.get(i)); |
| tC.tableModel.fireTableDataChanged(); | tC.tableModel.fireTableDataChanged(); |
| noDBUpdate = false; | noDBUpdate = false; |