/* * 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.BorderLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; 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.BnCheckBox; import org.beanfabrics.swing.BnTextField; @SuppressWarnings("serial") public class ContactPanel extends JPanel implements View<ContactPM>, ModelSubscriber { private BnButton bnButton; private final Link link = new Link(this); private ModelProvider localProvider = null; //@jve:decl-index=0:visual-constraint="376,115" @wb:location=38,265 private JLabel notesLabel; private BnTextField notesTextField; private BnCheckBox isMarriedCheckBox; private BnTextField isMarriedTextField; private JPanel contentPanel = null; private JLabel firstnameLabel = null; private JLabel lastnameLabel = null; private JLabel birthdayLabel = null; private BnTextField firstnameTextField = null; private BnTextField lastnameTextField = null; private BnTextField birthdayTextField = null; public ContactPanel() { super(); initialize(); } /** {@inheritDoc} */ public ContactPM getPresentationModel() { return getLocalProvider().getPresentationModel(); } /** {@inheritDoc} */ public void setPresentationModel(ContactPM pModel) { getLocalProvider().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); } private void initialize() { this.setSize(300, 200); this.setLayout(new BorderLayout()); this.add(getContentPanel(), BorderLayout.CENTER); } private ModelProvider getLocalProvider() { if (localProvider == null) { localProvider = new ModelProvider(); // @wb:location=15,360 localProvider.setPresentationModelType(ContactPM.class); } return localProvider; } private JPanel getContentPanel() { if (contentPanel == null) { GridBagConstraints gridBagConstraints5 = new GridBagConstraints(); gridBagConstraints5.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints5.gridy = 2; gridBagConstraints5.weightx = 1.0; gridBagConstraints5.insets = new Insets(5, 5, 5, 5); gridBagConstraints5.gridx = 1; GridBagConstraints gridBagConstraints4 = new GridBagConstraints(); gridBagConstraints4.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints4.gridy = 1; gridBagConstraints4.weightx = 1.0; gridBagConstraints4.insets = new Insets(5, 5, 5, 5); gridBagConstraints4.gridx = 1; GridBagConstraints gridBagConstraints3 = new GridBagConstraints(); gridBagConstraints3.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints3.gridy = 0; gridBagConstraints3.weightx = 1.0; gridBagConstraints3.insets = new Insets(5, 5, 5, 5); gridBagConstraints3.gridx = 1; GridBagConstraints gridBagConstraints2 = new GridBagConstraints(); gridBagConstraints2.gridx = 0; gridBagConstraints2.insets = new Insets(5, 5, 5, 5); gridBagConstraints2.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints2.weightx = 0.0; gridBagConstraints2.anchor = GridBagConstraints.EAST; gridBagConstraints2.gridy = 2; birthdayLabel = new JLabel(); birthdayLabel.setText("Birthday"); GridBagConstraints gridBagConstraints1 = new GridBagConstraints(); gridBagConstraints1.gridx = 0; gridBagConstraints1.insets = new Insets(5, 5, 5, 5); gridBagConstraints1.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints1.weightx = 0.0; gridBagConstraints1.anchor = GridBagConstraints.EAST; gridBagConstraints1.gridy = 1; lastnameLabel = new JLabel(); lastnameLabel.setText("Lastname"); GridBagConstraints gridBagConstraints = new GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.insets = new Insets(5, 5, 5, 5); gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 0.0; gridBagConstraints.anchor = GridBagConstraints.EAST; gridBagConstraints.gridy = 0; firstnameLabel = new JLabel(); firstnameLabel.setText("Firstname"); contentPanel = new JPanel(); final GridBagLayout gridBagLayout = new GridBagLayout(); gridBagLayout.rowHeights = new int[] { 0, 0, 0, 7, 7, 7, 7 }; contentPanel.setLayout(gridBagLayout); contentPanel.add(firstnameLabel, gridBagConstraints); contentPanel.add(lastnameLabel, gridBagConstraints1); contentPanel.add(birthdayLabel, gridBagConstraints2); contentPanel.add(getFirstnameTextField(), gridBagConstraints3); contentPanel.add(getLastnameTextField(), gridBagConstraints4); contentPanel.add(getBirthdayTextField(), gridBagConstraints5); final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints(); gridBagConstraints_1.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints_1.insets = new Insets(4, 4, 4, 4); gridBagConstraints_1.gridy = 3; gridBagConstraints_1.gridx = 1; contentPanel.add(getHasWifeTextField(), gridBagConstraints_1); final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints(); gridBagConstraints_2.anchor = GridBagConstraints.WEST; gridBagConstraints_2.insets = new Insets(4, 4, 4, 4); gridBagConstraints_2.gridy = 4; gridBagConstraints_2.gridx = 1; contentPanel.add(getHasWifeCheckBox(), gridBagConstraints_2); final GridBagConstraints gridBagConstraints_3 = new GridBagConstraints(); gridBagConstraints_3.fill = GridBagConstraints.HORIZONTAL; gridBagConstraints_3.insets = new Insets(4, 4, 4, 4); gridBagConstraints_3.gridy = 5; gridBagConstraints_3.gridx = 1; final GridBagConstraints gridBagConstraints_4 = new GridBagConstraints(); gridBagConstraints_4.anchor = GridBagConstraints.EAST; gridBagConstraints_4.insets = new Insets(4, 4, 4, 4); gridBagConstraints_4.gridy = 5; gridBagConstraints_4.gridx = 0; contentPanel.add(getNotesLabel(), gridBagConstraints_4); contentPanel.add(getNotesTextField(), gridBagConstraints_3); final GridBagConstraints gridBagConstraints_5 = new GridBagConstraints(); gridBagConstraints_5.insets = new Insets(4, 4, 4, 4); gridBagConstraints_5.gridy = 6; gridBagConstraints_5.gridx = 1; contentPanel.add(getBnButton(), gridBagConstraints_5); } return contentPanel; } private BnTextField getFirstnameTextField() { if (firstnameTextField == null) { firstnameTextField = new BnTextField(); firstnameTextField.setPath(new Path("firstname")); firstnameTextField.setModelProvider(getLocalProvider()); } return firstnameTextField; } private BnTextField getLastnameTextField() { if (lastnameTextField == null) { lastnameTextField = new BnTextField(); lastnameTextField.setPath(new Path("this.lastname")); lastnameTextField.setModelProvider(getLocalProvider()); } return lastnameTextField; } private BnTextField getBirthdayTextField() { if (birthdayTextField == null) { birthdayTextField = new BnTextField(); birthdayTextField.setPath(new Path("this.birthday")); birthdayTextField.setModelProvider(getLocalProvider()); } return birthdayTextField; } protected BnTextField getHasWifeTextField() { if (isMarriedTextField == null) { isMarriedTextField = new BnTextField(); isMarriedTextField.setPath(new org.beanfabrics.Path("this.isMarried")); isMarriedTextField.setModelProvider(getLocalProvider()); } return isMarriedTextField; } protected BnCheckBox getHasWifeCheckBox() { if (isMarriedCheckBox == null) { isMarriedCheckBox = new BnCheckBox(); isMarriedCheckBox.setPath(new Path("this.isMarried")); isMarriedCheckBox.setModelProvider(getLocalProvider()); isMarriedCheckBox.setText("married"); } return isMarriedCheckBox; } protected BnTextField getNotesTextField() { if (notesTextField == null) { notesTextField = new BnTextField(); notesTextField.setPath(new Path("this.notes.content")); notesTextField.setModelProvider(getLocalProvider()); } return notesTextField; } protected JLabel getNotesLabel() { if (notesLabel == null) { notesLabel = new JLabel(); notesLabel.setText("Notes"); } return notesLabel; } private BnButton getBnButton() { if (bnButton == null) { bnButton = new BnButton(); bnButton.setModelProvider(getLocalProvider()); bnButton.setText("New BnButton"); } return bnButton; } }