Search in sources :

Example 1 with BoolProperty

use of com.android.tools.idea.ui.properties.core.BoolProperty in project android by JetBrains.

the class SyncFieldsDemo method init.

public void init() {
    // Wrap UI elements in properties
    final StringProperty projectText = new TextProperty(myProjectNameField);
    final StringProperty activityText = new TextProperty(myActivityNameField);
    final BoolProperty isSynced = new SelectedProperty(mySyncActivityNameCheckBox);
    final BoolProperty createActivity = new SelectedProperty(myCreateActivityCheckBox);
    BoolProperty isActivityEnabled = new EnabledProperty(myActivityNameField);
    BoolProperty isLinkEnabled = new EnabledProperty(mySyncActivityNameCheckBox);
    projectText.set("MyProject");
    // Bind activityText <- nameExpression(projectText), but only if conditions are met
    final FormatExpression activityNameExpression = new FormatExpression("%1$sActivity", projectText);
    myBindings.bind(activityText, activityNameExpression, isSynced.and(createActivity));
    myBindings.bind(isActivityEnabled, createActivity);
    myBindings.bind(isLinkEnabled, createActivity);
    // Listen to activityText - if it is changed by the user and not its binding, break syncing!
    activityText.addListener(new InvalidationListener() {

        @Override
        public void onInvalidated(@NotNull ObservableValue<?> sender) {
            isSynced.set(activityText.get().equals(activityNameExpression.get()));
        }
    });
}
Also used : StringProperty(com.android.tools.idea.ui.properties.core.StringProperty) EnabledProperty(com.android.tools.idea.ui.properties.swing.EnabledProperty) InvalidationListener(com.android.tools.idea.ui.properties.InvalidationListener) BoolProperty(com.android.tools.idea.ui.properties.core.BoolProperty) TextProperty(com.android.tools.idea.ui.properties.swing.TextProperty) FormatExpression(com.android.tools.idea.ui.properties.expressions.string.FormatExpression) SelectedProperty(com.android.tools.idea.ui.properties.swing.SelectedProperty)

Aggregations

InvalidationListener (com.android.tools.idea.ui.properties.InvalidationListener)1 BoolProperty (com.android.tools.idea.ui.properties.core.BoolProperty)1 StringProperty (com.android.tools.idea.ui.properties.core.StringProperty)1 FormatExpression (com.android.tools.idea.ui.properties.expressions.string.FormatExpression)1 EnabledProperty (com.android.tools.idea.ui.properties.swing.EnabledProperty)1 SelectedProperty (com.android.tools.idea.ui.properties.swing.SelectedProperty)1 TextProperty (com.android.tools.idea.ui.properties.swing.TextProperty)1