package org.openslx.dozmod.gui.window.layout;
import java.awt.Dimension;
import java.awt.Window;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.control.QLabel;
import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.control.table.UserTable;
import org.openslx.dozmod.gui.helper.GridManager;
@SuppressWarnings("serial")
public class UserListWindowLayout extends JDialog {
protected final UserTable userTable;
protected final JButton btnConfirm;
protected final JButton btnCancel;
protected final JTextField txtSearch;
private static String title = "Benutzerliste";
protected UserListWindowLayout(Window modalParent, String buttonCaption) {
super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL
: ModalityType.MODELESS);
GridManager grid = new GridManager(this, 1);
// --------------- filter field --------------------------------------
JPanel filterPanel = new JPanel();
filterPanel.setLayout(new BoxLayout(filterPanel, BoxLayout.LINE_AXIS));
filterPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10));
filterPanel.add(new QLabel("Suchen: "));
txtSearch = new JTextField();
filterPanel.add(txtSearch);
// --------------- end filter field --------------------------------
// --------------- user table --------------------------------------
JPanel listPane = new JPanel();
listPane.setLayout(new BoxLayout(listPane, BoxLayout.PAGE_AXIS));
listPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
userTable = new UserTable();
QScrollPane jsp = new QScrollPane(userTable);
jsp.setBackground(UIManager.getColor("Table.background"));
listPane.add(jsp);
// --------------- end user table ------------------------------------
// --------------- button panel --------------------------------------
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS));
buttonPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
buttonPane.add(Box.createHorizontalGlue());
btnCancel = new JButton("Schließen");
buttonPane.add(btnCancel);
buttonPane.add(Box.createRigidArea(new Dimension(10, 0)));
btnConfirm = new JButton(buttonCaption);
buttonPane.add(btnConfirm);
// --------------- end button panel ----------------------------------
// pack it all
grid.add(filterPanel).fill(true, false).expand(true, false);
grid.nextRow();
grid.add(listPane).fill(true, true).expand(true, true);
grid.nextRow();
grid.add(buttonPane).fill(true, false).expand(true, false);
grid.nextRow();
grid.finish(false);
setPreferredSize(Gui.getScaledDimension(300, 350));
pack();
}
}