/*
* Beanfabrics Framework Copyright (C) by Michael Karneim, beanfabrics.org
* Use is subject to license terms. See license.txt.
*/
package org.beanfabrics.test;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import org.beanfabrics.IModelProvider;
import org.beanfabrics.Link;
import org.beanfabrics.ModelProvider;
import org.beanfabrics.ModelSubscriber;
import org.beanfabrics.Path;
import org.beanfabrics.View;
import org.beanfabrics.swing.BnButton;
import org.beanfabrics.swing.BnTextField;
public class ContactFilterPanel extends JPanel implements View<ContactFilterPM>, ModelSubscriber {
private final Link link = new Link(this);
private JLabel jLabel = null;
private BnTextField bnTextField = null;
private BnButton bnButton = null;
private ModelProvider myDataSource = null; //@jve:decl-index=0:visual-constraint="397,50"
/**
* This is the default constructor
*/
public ContactFilterPanel() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
jLabel = new JLabel();
jLabel.setText("Filter");
this.setSize(300, 200);
this.setLayout(new FlowLayout());
this.add(jLabel, null);
this.add(getBnTextField(), null);
this.add(getBnButton(), null);
}
/**
* This method initializes bnTextField
*
* @return org.beanfabrics.gui.swing.BnTextField
*/
private BnTextField getBnTextField() {
if (bnTextField == null) {
bnTextField = new BnTextField();
bnTextField.setColumns(8);
bnTextField.setPath(new Path("searchString"));
bnTextField.setModelProvider(getMyDataSource());
}
return bnTextField;
}
/**
* This method initializes bnButton
*
* @return org.beanfabrics.gui.swing.BnButton
*/
private BnButton getBnButton() {
if (bnButton == null) {
bnButton = new BnButton();
bnButton.setPath(new Path("filter"));
bnButton.setText("Filter");
bnButton.setModelProvider(getMyDataSource());
}
return bnButton;
}
/**
* This method initializes <code>myDataSource</code>.
*
* @return the <code>ModelProvider</code>
*/
private ModelProvider getMyDataSource() {
if (myDataSource == null) {
myDataSource = new ModelProvider();
myDataSource.setPresentationModelType(ContactFilterPM.class);
}
return myDataSource;
}
/** {@inheritDoc} */
public ContactFilterPM getPresentationModel() {
return getMyDataSource().getPresentationModel();
}
/** {@inheritDoc} */
public void setPresentationModel(ContactFilterPM pModel) {
getMyDataSource().setPresentationModel(pModel);
}
/** {@inheritDoc} */
public IModelProvider getModelProvider() {
return link.getModelProvider();
}
/** {@inheritDoc} */
public void setModelProvider(IModelProvider provider) {
this.link.setModelProvider(provider);
}
/** {@inheritDoc} */
public Path getPath() {
return link.getPath();
}
/** {@inheritDoc} */
public void setPath(Path path) {
this.link.setPath(path);
}
}