Example usage for com.jgoodies.binding.beans PropertyConnector connectAndUpdate

List of usage examples for com.jgoodies.binding.beans PropertyConnector connectAndUpdate

Introduction

In this page you can find the example usage for com.jgoodies.binding.beans PropertyConnector connectAndUpdate.

Prototype

public static void connectAndUpdate(ValueModel valueModel, Object bean2, String property2Name) 

Source Link

Document

Synchronizes the ValueModel with the specified bound bean property, and updates the bean immediately.

Usage

From source file:com.songbook.pc.ui.view.MainFormView.java

License:Open Source License

/**
 * Constructor - creates the MainFormView.
 * @param presentationModel Presentation model for the view.
 *//*from w  w  w  .j a v a2s .  c  o  m*/
public MainFormView(final MainFormPresentationModel presentationModel) {
    presentationModel.setFrame(this);

    PropertyConnector.connectAndUpdate(presentationModel.getTitleModel(), this, "title");

    // == LEFT TOOLBAR ==
    editButton = new JButton(presentationModel.getEditAction());
    transposeSpinner = new JSpinner();
    SpinnerToValueModelConnector.connect(transposeSpinner.getModel(), presentationModel.getTransposeModel(), 0);

    // == RIGHT TOOLBAR ==
    newButton = new JButton(presentationModel.getNewAction());
    saveButton = new JButton(presentationModel.getSaveAction());
    exportHtmlButton = new JButton(presentationModel.getExportHtmlAction());
    exportLatexButton = new JButton(presentationModel.getExportLatexAction());
    exportPDFButton = new JButton(presentationModel.getExportPdfAction());
    exportEPubButton = new JButton(presentationModel.getExportEPubAction());
    encodingComboBox = BasicComponentFactory.createComboBox(presentationModel.getEncodingModel());

    // == MODEL ==
    editorPane = createEditorPane(presentationModel.getEditorModel().getTextModel(), "/css/editorPane.css");
    PropertyConnector.connectAndUpdate(presentationModel.getEditorModel().getEditableModel(), editorPane,
            "editable");
    PropertyConnector.connectAndUpdate(presentationModel.getEditorModel().getContentTypeModel(), editorPane,
            "contentType");
    PropertyConnector.connectAndUpdate(presentationModel.getEditorModel().getTextModel(), editorPane, "text");
    PropertyConnector.connectAndUpdate(presentationModel.getEditorModel().getCaretPositionModel(), editorPane,
            "caretPosition");

    // == BOTTOM TOOLBAR ==
    logPane = createEditorPane(null, "/css/logPane.css");
    logPane.setContentType("text/html");
    logPane.setEditable(false);
    // One-Way binding of text property
    logPane.setText((String) presentationModel.getLogObservingModel().getTextModel().getValue());
    presentationModel.getLogObservingModel().getTextModel()
            .addValueChangeListener(new PropertyChangeListener() {
                @Override
                public void propertyChange(PropertyChangeEvent evt) {
                    logPane.setText(
                            (String) presentationModel.getLogObservingModel().getTextModel().getValue());
                    logPane.setCaretPosition(logPane.getDocument().getLength());
                }
            });

    // == SONG SELECTION ==
    TableModel tableModel = new SongListTableAdapter(
            presentationModel.getSongListPresentationModel().getSongListModel());
    songSelectionTable = new JTable(tableModel);
    songSelectionTable.setRowSorter(new TableRowSorter<TableModel>(tableModel));
    songSelectionTable.getRowSorter().setSortKeys(Arrays.asList(new RowSorter.SortKey(0, SortOrder.ASCENDING)));
    bind2Way(songSelectionTable, presentationModel.getSongListPresentationModel().getSongListModel());
    if (!presentationModel.getSongListPresentationModel().getSongListModel().isEmpty()) {
        songSelectionTable.getSelectionModel().setSelectionInterval(0, 0);
    }

    // == DO LAYOUT ==
    initLayout();

    // == OTHER INITIALIZATION ==
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
}

From source file:com.songbook.pc.ui.view.TextDialogView.java

License:Open Source License

/**
 * Creates new form TextDialog with the specified parameters.
 * @param parent            Parent frame
 * @param presentationModel Presentation model displayed by this view
 *//*from   w  w w .j a v  a2 s.c  om*/
public TextDialogView(Frame parent, TextDialogPresentationModel presentationModel) {
    super(parent, true);
    setResizable(false);
    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

    // Bind title & visibility
    PropertyConnector.connectAndUpdate(presentationModel.getTitleModel(), this, "title");

    // Description label
    descriptionLabel = new JLabel();
    PropertyConnector.connectAndUpdate(presentationModel.getDescriptionModel(), descriptionLabel, "text");

    // Text field
    textField = new JTextField();
    TextComponentConnector.connect(presentationModel.getTextValueModel(), textField);

    // Status label
    statusLabel = new JLabel();
    PropertyConnector.connectAndUpdate(presentationModel.getStatusMessageModel(), statusLabel, "text");

    // Buttons
    okButton = new JButton(presentationModel.getOkAction());
    cancelButton = new JButton(presentationModel.getCancelAction());

    // Handle OPEN/CLOSE events from presentation-model
    presentationModel.addEventListener(new TextDialogPresentationModel.EventListener() {
        @Override
        public void onEvent(Object eventType) {
            if (TextDialogPresentationModel.Event.VIEW_OPEN.equals(eventType)) {
                setVisible(true);
            } else if (TextDialogPresentationModel.Event.VIEW_CLOSE.equals(eventType)) {
                setVisible(false);
            }
        }
    });

    initLayout();
}

From source file:net.sf.ij_plugins.ui.multiregion.MultiRegionManagerView.java

License:Open Source License

/**
 * Creates new form MultiRegionManagerView
 *//*w  w  w .  j a  v a  2 s .  com*/
public MultiRegionManagerView() {

    this.model.setParent(this);

    initComponents();
    regionList.setCellRenderer(new RegionCellRenderer());

    // Bind selection in regionList to model's selectedRegion
    PropertyConnector.connectAndUpdate(regionSelectedItemHolder, model, "selectedRegion");
    PropertyConnector.connectAndUpdate(subRegionSelectedItemHolder, model, "selectedSubRegion");

    regionSelectedItemHolder.setIdentityCheckEnabled(true);
}

From source file:org.drugis.addis.gui.builder.AddIndicationView.java

License:Open Source License

public void initComponents() {
    d_code = new JFormattedTextField(new DefaultFormatter());
    d_code.setColumns(18);/*  ww w.  ja  v  a2 s.  co  m*/
    PropertyConnector.connectAndUpdate(d_model.getModel(Indication.PROPERTY_CODE), d_code, "value");
    d_name = BasicComponentFactory.createTextField(d_model.getModel(Indication.PROPERTY_NAME), false);

    d_validator.add(new DocumentNotEmptyModel(d_code.getDocument()));
    d_validator.add(new NonEmptyValueModel(d_model.getModel(Indication.PROPERTY_NAME)));

}

From source file:org.drugis.addis.gui.builder.DoseView.java

License:Open Source License

public void initComponents() {
    d_quantityMin = new JFormattedTextField(new DefaultFormatter());
    d_quantityMax = new JFormattedTextField(new DefaultFormatter());
    PropertyConnector.connectAndUpdate(d_model.getMinModel(), d_quantityMin, "value");
    PropertyConnector.connectAndUpdate(d_model.getMaxModel(), d_quantityMax, "value");
    d_quantityMin.setColumns(8);/*from   w  w w .  ja v a2  s. c o m*/
    d_quantityMax.setColumns(8);

}

From source file:org.drugis.addis.gui.MeasurementInputHelper.java

License:Open Source License

public static JFormattedTextField buildFormatted(ValueModel model, ValueModel disabledModel,
        AbstractFormatter formatter) {// w w w  .ja va2s. com
    final JFormattedTextField field = new JFormattedTextField(
            new DefaultFormatterFactory(formatter, formatter, formatter, formatter));
    PropertyConnector.connectAndUpdate(model, field, "value");
    PropertyConnector.connectAndUpdate(ConverterFactory.createBooleanNegator(disabledModel), field, "enabled");
    field.setColumns(5);
    return field;
}

From source file:org.drugis.addis.gui.wizard.AbstractTreatmentCategorizationWizardStep.java

License:Open Source License

@Override
public void prepare() {
    this.setVisible(false);
    initialize();//from   w w  w .jav  a  2 s  . com
    buildWizardStep();
    BooleanAndModel valid = new BooleanAndModel(d_validators);
    PropertyConnector.connectAndUpdate(valid, this, "complete");
    this.setVisible(true);
}

From source file:org.drugis.addis.gui.wizard.AddListItemsWizardStep.java

License:Open Source License

private void resetUnderlyingList() {
    d_validator = new ListOfNamedValidator<T>(d_pm.getList(), d_pm.getMinElements());
    PropertyConnector.connectAndUpdate(d_validator, this, "complete");
    d_pm.getList().addListDataListener(new IndifferentListDataListener() {
        public void update() {
            rebuild();/*from w w w.  j  a va2  s .  c  o  m*/
        }
    });
}

From source file:org.drugis.addis.gui.wizard.AddStudyActivityDialog.java

License:Open Source License

private JScrollPane buildPanel() {
    FormLayout layout = new FormLayout("left:pref, 7dlu, pref:grow:fill, 3dlu, left:pref", "p");
    final PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();//w  w  w . j  av  a 2s .  co  m
    final CellConstraints cc = new CellConstraints();

    int row = 1;
    // add type
    builder.addLabel("Type: ", cc.xy(1, row));
    final JComboBox treatmentSelect = AuxComponentFactory
            .createBoundComboBox(d_pm.getActivityOptions().toArray(), d_pm.getActivityModel());
    final ListCellRenderer renderer = treatmentSelect.getRenderer();
    treatmentSelect.setRenderer(new ListCellRenderer() {
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
                boolean cellHasFocus) {
            if (value instanceof TreatmentActivity) {
                return renderer.getListCellRendererComponent(list, "Treatment", index, isSelected,
                        cellHasFocus);
            } else if (value instanceof OtherActivity) {
                return renderer.getListCellRendererComponent(list, "Other", index, isSelected, cellHasFocus);
            }
            return renderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
        }
    });
    builder.add(treatmentSelect, cc.xy(3, row));

    // show or hide drug
    if (d_pm.getActivityModel().getValue() instanceof TreatmentActivity) {
        row = showDrugPanel(builder, row);
    } else if (d_pm.getActivityModel().getValue() instanceof OtherActivity) {
        row = showOtherActivityPanel(builder, row);
    }
    row = LayoutUtil.addRow(layout, row);
    builder.addSeparator("", cc.xyw(1, row, 5));

    // add name
    row = LayoutUtil.addRow(layout, row);
    builder.addLabel("Name: ", cc.xy(1, row));
    builder.add(BasicComponentFactory.createTextField(d_pm.getNameModel(), false), cc.xy(3, row));

    // NOOOOTES
    row = LayoutUtil.addRow(layout, row);
    builder.add(AddStudyWizard.buildNotesEditor(d_pm.getNotesModel()), cc.xyw(1, row, 5));
    PropertyConnector.connectAndUpdate(d_pm.getValidModel(), d_okButton, "enabled");
    JScrollPane scrollPane = new JScrollPane(builder.getPanel());
    scrollPane.setViewportBorder(BorderFactory.createEmptyBorder());
    return scrollPane;
}

From source file:org.drugis.addis.gui.wizard.SelectFromOutcomeMeasureListWizardStep.java

License:Open Source License

public SelectFromOutcomeMeasureListWizardStep(final JDialog parent,
        final SelectFromFiniteListPresentation<T> pm, final AddEpochsPresentation epm) {
    super(pm.getTitle(), pm.getDescription());
    d_parent = parent;//  ww  w.  j a v  a  2s  . c  o m
    d_epm = epm;
    setLayout(new BorderLayout());
    d_pm = pm;
    setComplete((Boolean) d_pm.getInputCompleteModel().getValue());

    PropertyConnector.connectAndUpdate(d_pm.getInputCompleteModel(), this, "complete");
}