/*
* DolgozoPanel.java
*
* Created on 2009. okt�ber 29., 8:06
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package swing.dolgozo;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.event.DocumentListener;
import swing.button.OpenFormButton;
import swing.combobox.ComboBox;
import swing.form.FormUtil;
import swing.panel.SelectorPanel;
import system.dolgozo.Dolgozo;
import system.dolgozo.DolgozoUtil;
import system.util.EventMulticaster;
import system.util.IndexedObject;
import system.util.LogUtil;
import system.util.Login;
/**
*
* @author laci
*/
public class DolgozoPanel extends SelectorPanel {
// <editor-fold defaultstate="collapsed" desc="Konstansok">
public static final int DEFAULT_LENGTH = 20;
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="valtozok">
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="kontruktorok">
/** Creates a new instance of DolgozoPanel */
public DolgozoPanel(Login login, String title, int length) {
super(login,title,length);
initialize();
}
public DolgozoPanel(Login login, String title) {
super(login,title,DEFAULT_LENGTH);
initialize();
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="inicializalas">
protected void initialize() {
setListaModel();
getDolgozoBox().setSelectedIndex(-1);
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Layout">
protected void createLayout() {
super.createLayout();
add(getDolgozoBox(), FormUtil.newGBConstraints(1, 0, 1, 1, FormUtil.ANCHOR_WEST, FormUtil.FILL_NONE, new Insets(0,0,0,0)));
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="valasztas">
private ComboBox dolgozoBox;
protected ComboBox getDolgozoBox() {
if(dolgozoBox == null) {
dolgozoBox = createDolgozoBox();
}
return dolgozoBox;
}
protected ComboBox createDolgozoBox() {
ComboBox temp = new ComboBox();
temp.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (getTkod() != getSelectedTkod()) {
setTkod(getSelectedTkod());
}
}
});
return temp;
}
public Integer getSelectedTkod() {
if (getDolgozoBox().getSelectedIndex() > -1) {
return ((IndexedObject)getDolgozoBox().getSelectedItem()).getIndex();
}
return null;
}
public void fillBox() {
if (getTkod() == null) {
getDolgozoBox().setSelectedIndex(-1);
} else {
for (int i = 0; i < getDolgozoBox().getModel().getSize(); i++) {
if (getTkod() == ((IndexedObject)getDolgozoBox().getItemAt(i)).getIndex()) {
getDolgozoBox().setSelectedIndex(i);
}
}
}
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="lsitaModel">
protected void setListaModel() {
DefaultComboBoxModel model = (DefaultComboBoxModel) getDolgozoBox().getModel();
model.removeAllElements();
listaz(model);
}
/** List�z */
protected void listaz(DefaultComboBoxModel mibe) {
try {
mibe.removeAllElements();
DolgozoUtil.List(getLogin(),mibe);
} catch (Exception ex) {
LogUtil.log("DolgozoPanel.listaz()",DolgozoPanel.class,ex,LogUtil.ERROR);
}
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="setEnbaled">
public void setEnabled(boolean mire) {
getMezo().setEnabled(mire);
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="reset">
public void reset() {
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="getFocusOrder">
public Vector getFocusOrder() {
return new Vector();
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="kitolt">
public void fill() {
fillMezo();
fillBox();
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="fillMezo">
public void fillMezo() {
if (getTkod() == null) {
getMezo().setText(null);
} else {
getMezo().setText("Dolgoz�: "+getDolgozo().getNev());
}
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Objektum">
public void setTkod(Integer tkod) {
if (tkod == null) {
setValue(null);
} else {
setValue(DolgozoUtil.getByTkod(getLogin(), tkod));
}
fill();
}
public Integer getTkod() {
if (getValue() != null) {
return ((Dolgozo)getValue()).getTkod();
}
return null;
}
public Dolgozo getDolgozo() {
return (Dolgozo)getValue();
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="addDocListener">
public void addDocumentListener(DocumentListener l) {
getMezo().addDocumentListener(l);
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="createUjButton">
protected OpenFormButton createUjButton() {
OpenFormButton temp = super.createUjButton();
DolgozoForm form = new DolgozoForm(getLogin());
temp.setForm(form);
setForm(form);
temp.setTipus(OpenFormButton.NORMAL);
temp.addActionListener(new EventMulticaster(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getForm().setTkod(getTkod());
}
},temp.getOpenListener()));
return temp;
}
// </editor-fold>
}