Skip to content

Commit

Permalink
First attempt at using generic bind/unbind mechanism.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrg committed Jun 3, 2017
1 parent 4861004 commit 1edef7d
Showing 1 changed file with 30 additions and 9 deletions.
39 changes: 30 additions & 9 deletions src/main/java/org/apache/cayenne/modeler/layout/DataMapLayout.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
package org.apache.cayenne.modeler.layout;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.cayenne.modeler.adapters.DataMapAdapter;
import org.apache.commons.logging.Log;
Expand All @@ -45,6 +47,8 @@ public class DataMapLayout

private DataMapAdapter dataMapAdapter;

private List<Binding<?>> bindings;

public DataMapLayout(final MainWindowSupport parentComponent) throws IOException
{
super(parentComponent, "/layouts/DataMapLayout.fxml");
Expand All @@ -57,20 +61,37 @@ public void setPropertyAdapter(final DataMapAdapter dataMapAdapter)
}

@Override
public void beginEditing()
public void initializeBindings()
{
LOGGER.debug("begin editing " + this);
bindings = new ArrayList<>();

dataMapNameTextField.textProperty().bindBidirectional(dataMapAdapter.nameProperty());
quoteSqlIdentifiersCheckBox.selectedProperty().bindBidirectional(dataMapAdapter.quoteSQLIdentifiersProperty());
bindings.add(new Binding<>(dataMapNameTextField.textProperty(), dataMapAdapter.nameProperty()));
bindings.add(new Binding<>(quoteSqlIdentifiersCheckBox.selectedProperty(), dataMapAdapter.quoteSQLIdentifiersProperty()));
}

@Override
public void endEditing()
public List<Binding<?>> getBindings()
{
LOGGER.debug("end editing " + this);

dataMapNameTextField.textProperty().unbindBidirectional(dataMapAdapter.nameProperty());
quoteSqlIdentifiersCheckBox.selectedProperty().unbindBidirectional(dataMapAdapter.quoteSQLIdentifiersProperty());
return bindings;
}

// @Override
// public void beginEditing()
// {
// LOGGER.debug("begin editing " + this);
//
// DetailEditorSupport.super.beginEditing();
//// dataMapNameTextField.textProperty().bindBidirectional(dataMapAdapter.nameProperty());
//// quoteSqlIdentifiersCheckBox.selectedProperty().bindBidirectional(dataMapAdapter.quoteSQLIdentifiersProperty());
// }
//
// @Override
// public void endEditing()
// {
// LOGGER.debug("end editing " + this);
//
// DetailEditorSupport.super.endEditing();
//// dataMapNameTextField.textProperty().unbindBidirectional(dataMapAdapter.nameProperty());
//// quoteSqlIdentifiersCheckBox.selectedProperty().unbindBidirectional(dataMapAdapter.quoteSQLIdentifiersProperty());
// }
}

0 comments on commit 1edef7d

Please sign in to comment.