@Override public void setupErrorOutdatingUserActivityWatcher( final CommittablePanel panel, final DomElement... elements) { final UserActivityWatcher userActivityWatcher = createEditorAwareUserActivityWatcher(); userActivityWatcher.addUserActivityListener( new UserActivityListener() { private boolean isProcessingChange; @Override public void stateChanged() { if (isProcessingChange) return; isProcessingChange = true; try { for (final DomElement element : elements) { DomElementAnnotationsManagerImpl.outdateProblemHolder(element); } CommittableUtil.updateHighlighting(panel); } finally { isProcessingChange = false; } } }, panel); userActivityWatcher.register(panel.getComponent()); }
public static BasicDomElementComponent createComponentWithCaption( final CommittablePanel committablePanel, final CaptionComponent captionComponent, final DomElement element) { final JPanel panel = new JPanel(new BorderLayout()); panel.add(captionComponent, BorderLayout.NORTH); panel.add( element.isValid() ? committablePanel.getComponent() : new JPanel(), BorderLayout.CENTER); BasicDomElementComponent component = new BasicDomElementComponent(element) { @Override public JComponent getComponent() { return panel; } }; component.addComponent(committablePanel); component.addComponent(captionComponent); return component; }