public OrAggregatedBooleanDistributor(final Collection<IBooleanDistributor> models) { @SuppressWarnings("hiding") final IBooleanModel model = new BooleanModel(models.stream().filter(m -> m.get()).findFirst().isPresent()); model.addChangeListener(() -> fireObjectChanged()); final IChangeableObjectListener listener = () -> model .set(models.stream().filter(m -> m.get()).findFirst().isPresent()); models.stream().forEach(m -> m.addChangeListener(listener)); this.model = model; }
public void removeAll() { synchronized (this.mutex) { final boolean currentState = this.state; for (final IBooleanDistributor value : this.values) { value.removeChangeListener(this.listener); } this.values.clear(); setState(true); if (currentState == this.state) { return; } } fireObjectChanged(); }
private void updateWizardState(final IWizardPage page) { synchronized (this.mutex) { if (this.currentPage != null) { this.currentPage.getNextEnabledModel().removeChangeListener(this.nextEnableListener); this.currentPage.getBackEnabledModel().removeChangeListener(this.backEnableListener); this.currentPage.getDataStateModel().removeChangeListener(this.dataStateListener); this.currentPage.getMessageDistributor().removeChangeListener(this.messageListener); } this.currentPage = page; this.nextEnabledModel.set(this.currentPage.getNextEnabledModel().get() && hasNext()); this.backEnabledModel.set(this.currentPage.getBackEnabledModel().get() && hasPrevious()); this.dataStateModel.set(this.currentPage.getDataStateModel().get()); this.currentPage.getNextEnabledModel().addChangeListener(this.nextEnableListener); this.currentPage.getBackEnabledModel().addChangeListener(this.backEnableListener); this.currentPage.getDataStateModel().addChangeListener(this.dataStateListener); this.currentPage.getMessageDistributor().addChangeListener(this.messageListener); } this.wizardStateModel.set(new WizardState()); }
public ConfigurableAction(final IActionConfiguration configuration) { super(configuration.getCustomization()); final IBooleanDistributor enabledDistributor = configuration.getEnabledDistributor().and(this.internalEnabledModel); enabledDistributor.addChangeListener(() -> ConfigurableAction.super.setEnabled(enabledDistributor.get())); super.setEnabled(enabledDistributor.get()); this.closure = configuration.getProcedure(); final IObjectDistributor<IGuiIcon> iconDistributor = configuration.getIconDistributor(); iconDistributor.addChangeListener( () -> GuiUtilities.invokeLater( () -> putValue( Action.SMALL_ICON, Optional.of(iconDistributor.get()).convert(i -> i.getSmallIcon()).get()))); final IObjectDistributor<String> toolTipTextDistributor = configuration.getToolTipTextDistributor(); toolTipTextDistributor.addChangeListener( () -> GuiUtilities.invokeLater(() -> putValue(Action.SHORT_DESCRIPTION, toolTipTextDistributor.get()))); }
void updateState() { boolean flag = true; for (final IBooleanDistributor value : this.values) { flag = flag && value.get(); } setState(flag); }
public void add(final IBooleanDistributor model) { synchronized (this.mutex) { final boolean currentState = this.state; if (this.values.contains(model)) { return; } model.addChangeListener(this.listener); this.values.add(model); updateState(); if (currentState == this.state) { return; } } fireObjectChanged(); }
public void setEnabled( final Document document, final IBooleanDistributor enabledDistributor, final AbstractAction action) { GuiUtilities.invokeLater(() -> action.setEnabled(document.getLength() != 0 && enabledDistributor.get())); } });
sortStateModel.addChangeListener(new IChangeableObjectListener() {
public AndAggregatedBooleanDistributor(final Collection<IBooleanDistributor> models) { @SuppressWarnings("hiding") final IBooleanModel model = new BooleanModel(!models.stream().filter(m -> !m.get()).findFirst().isPresent()); model.addChangeListener(() -> fireObjectChanged()); final IChangeableObjectListener listener = () -> model .set(!models.stream().filter(m -> !m.get()).findFirst().isPresent()); models.stream().forEach(m -> m.addChangeListener(listener)); this.model = model; }
@Override public void objectChanged() { AbstractWizardController.this.nextEnabledModel .set(AbstractWizardController.this.currentPage.getNextEnabledModel().get()); } };
this.controller.getNextEnabledDistributor().addChangeListener(new IChangeableObjectListener() { this.controller.getBackEnabledDistributor().addChangeListener(new IChangeableObjectListener() {
enabledModel.addChangeListener(() -> GuiUtilities.invokeLater(() -> button.setEnabled(enabledModel.get()))); enabledDistributor .addChangeListener(() -> GuiUtilities.invokeLater(() -> button.setEnabled(enabledDistributor.get()))); return button; };
@Override public void objectChanged() { AbstractWizardController.this.backEnabledModel .set(AbstractWizardController.this.currentPage.getBackEnabledModel().get()); } };
.build(); setEnabled(document, enabledDistributor, action); enabledDistributor.addChangeListener(() -> setEnabled(document, enabledDistributor, action)); document.addDocumentListener(new DocumentListener() {
public ObjectListTable(final IObjectListTableConfiguration<T> configuration, final List<T> list) { super( configuration, new FilterableObjectTableModel<>( new ObjectListTableModel<>( list, configuration.getColumnValueProviders(), configuration.getColumnValueAdaptors(), configuration.getColumnClassProvider()))); this.configuration = configuration; final FilterableObjectTableModel<T> tableModel = (FilterableObjectTableModel<T>) getTableModel(); @SuppressWarnings("hiding") final IObjectModel<IRowFilter> rowFilterModel = new ObjectModel<>(); rowFilterModel.addChangeListener(new IChangeableObjectListener() { @Override public void objectChanged() { tableModel.setRowFilter(rowFilterModel.get()); } }); this.rowFilterModel = rowFilterModel; ((ObjectListTableModel<T>) tableModel.getObjectTableModel()).setChangeable(!getSortStateModel().get()); getSortStateModel().addChangeListener(new IChangeableObjectListener() { @Override public void objectChanged() { ((ObjectListTableModel<T>) tableModel.getObjectTableModel()).setChangeable(!getSortStateModel().get()); } }); }
final protected void updateBackAction(final Action action) { GuiUtilities.invokeLater( () -> action.setEnabled(this.controller.hasPrevious() && this.controller.getBackEnabledDistributor().get())); } }
final protected void updateNextAction(final Action action) { GuiUtilities.invokeLater( () -> action.setEnabled(this.controller.hasNext() && this.controller.getNextEnabledDistributor().get())); }
@Override public void objectChanged() { ((ObjectListTableModel<T>) tableModel.getObjectTableModel()).setChangeable(!getSortStateModel().get()); } });