@Override public void addMessage( final int type, @NotNull final String[] text, @Nullable final String groupName, @Nullable final Navigatable navigatable, @Nullable final String exportTextPrefix, @Nullable final String rendererTextPrefix, @Nullable final UUID sessionId) { myViewUpdater.execute( new Runnable() { @Override public void run() { final ErrorViewStructure structure = myPanel.getErrorViewStructure(); final GroupingElement group = structure.lookupGroupingElement(groupName); if (group != null && !sessionId.equals(group.getData())) { structure.removeElement(group); } if (navigatable != null) { myPanel.addMessage( type, text, groupName, navigatable, exportTextPrefix, rendererTextPrefix, sessionId); } else { myPanel.addMessage(type, text, null, -1, -1, sessionId); } updateIcon(true); } }); }
@Override public void clearOldMessages( @Nullable final CompileScope scope, @NotNull final UUID currentSessionId) { myViewUpdater.execute( new Runnable() { @Override public void run() { updateIcon( !cleanupChildrenRecursively( myPanel.getErrorViewStructure().getRootElement(), scope, currentSessionId)); myPanel.reload(); } }); }
@Override protected void processQueue() { if (myProcessingEnabled.get()) { super.processQueue(); } }
public void startProcessing() { if (!myProcessingEnabled.getAndSet(true)) { super.processQueue(); } }