/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.dataprocess.gui.util.sqleditor;
import net.codjo.dataprocess.gui.util.GuiUtils;
import net.codjo.dataprocess.gui.util.sqleditor.components.DataBasePopupGui;
import net.codjo.dataprocess.gui.util.sqleditor.components.DatabaseJTree;
import net.codjo.dataprocess.gui.util.sqleditor.components.JHistoricComboBox;
import net.codjo.dataprocess.gui.util.sqleditor.components.ResultTabbedPane;
import net.codjo.dataprocess.gui.util.sqleditor.components.SQLSyntaxEditor;
import net.codjo.gui.toolkit.waiting.WaitingPanel;
import net.codjo.mad.client.request.RequestException;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import javax.swing.tree.TreeSelectionModel;
/**
*
*/
public class SqlEditorDetailWindowGui extends JInternalFrame {
private DatabaseJTree databaseTree;
private ResultTabbedPane sqlResultTabs;
private SQLSyntaxEditor sqlEditor;
private JButton executeButton;
private JButton quitButton;
private JHistoricComboBox sqlHistory;
private WaitingPanel waitingPanel = new WaitingPanel("Requ�te en cours...");
private DataBasePopupGui popupMenu;
private JTextField pageSize;
public SqlEditorDetailWindowGui() throws RequestException {
super("Editeur SQL", true, true, true, true);
buildGui();
}
public void setDatabasePopupMenu(DataBasePopupGui popupMenu) {
this.popupMenu = popupMenu;
}
public SQLSyntaxEditor getSqlEditor() {
return sqlEditor;
}
public WaitingPanel getWaitingPanel() {
return waitingPanel;
}
public JHistoricComboBox getSqlHistory() {
return sqlHistory;
}
public JButton getQuitButton() {
return quitButton;
}
public DataBasePopupGui getDatabasePopupMenu() {
return popupMenu;
}
public ResultTabbedPane getSqlResultTabs() {
return sqlResultTabs;
}
public JButton getExecuteButton() {
return executeButton;
}
public DatabaseJTree getDatabaseTree() {
return databaseTree;
}
public JTextField getPageSize() {
return pageSize;
}
private void buildGui() {
quitButton = new JButton(UIManager.getIcon("dataprocess.exit"));
quitButton.setToolTipText("Fermer la fen�tre");
GuiUtils.setMaxSize(quitButton, 25, 25);
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
JPanel bottomPanel = new JPanel();
bottomPanel.setBorder(new EmptyBorder(2, 2, 2, 2));
bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.X_AXIS));
bottomPanel.add(Box.createHorizontalGlue());
bottomPanel.add(quitButton);
setGlassPane(waitingPanel);
JPanel leftPanel = new JPanel(new BorderLayout());
leftPanel.setBorder(new TitledBorder("Tables"));
databaseTree = new DatabaseJTree();
databaseTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
leftPanel.add(BorderLayout.CENTER, new JScrollPane(databaseTree));
JPanel rightTopPanel = new JPanel(new BorderLayout());
rightTopPanel.setBorder(new TitledBorder("Requ�te"));
sqlEditor = new SQLSyntaxEditor();
rightTopPanel.add(BorderLayout.CENTER, new JScrollPane(sqlEditor));
sqlHistory = new JHistoricComboBox(10);
executeButton = new JButton("Executer");
JPanel commandPanel = new JPanel(new BorderLayout());
commandPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
commandPanel.add(BorderLayout.CENTER, sqlHistory);
JPanel eastBlok = new JPanel(new BorderLayout());
eastBlok.add(BorderLayout.WEST, new JLabel(" Taille de page "));
pageSize = new JTextField("1000");
pageSize.setMinimumSize(new Dimension(100, 20));
eastBlok.add(BorderLayout.CENTER, pageSize);
eastBlok.add(BorderLayout.EAST, executeButton);
commandPanel.add(BorderLayout.EAST, eastBlok);
rightTopPanel.add(BorderLayout.NORTH, commandPanel);
JPanel rightBottomPanel = new JPanel(new BorderLayout());
rightBottomPanel.setBorder(new TitledBorder("R�sultats"));
sqlResultTabs = new ResultTabbedPane();
rightBottomPanel.add(BorderLayout.CENTER, sqlResultTabs);
JPanel rightPanel = new JPanel(new BorderLayout());
JSplitPane rightSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, rightTopPanel,
rightBottomPanel);
rightSplitPane.setDividerLocation(150);
rightSplitPane.setDividerSize(5);
rightSplitPane.setContinuousLayout(true);
rightPanel.add(BorderLayout.CENTER, rightSplitPane);
setLayout(new BorderLayout());
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, rightPanel);
splitPane.setDividerLocation(300);
splitPane.setDividerSize(5);
splitPane.setContinuousLayout(true);
mainPanel.add(splitPane, BorderLayout.CENTER);
mainPanel.add(bottomPanel, BorderLayout.SOUTH);
add(mainPanel, BorderLayout.CENTER);
setSize(900, 600);
}
public interface TAGS {
String SQL_EDITOR = "sqlEditor";
String EXEC_BUTTON = "ExecuteButton";
String HISTORY = "SqlHistory";
String DB_TREE = "DatabaseTree";
}
}