diff --git a/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/EventLogController.java b/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/EventLogController.java index 3c833be1e8..6e77f190f4 100644 --- a/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/EventLogController.java +++ b/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/EventLogController.java @@ -11,11 +11,13 @@ import java.time.Duration; import java.util.Date; import java.util.ResourceBundle; +import org.reactfx.EventStream; +import org.reactfx.EventStreams; + import net.sourceforge.pmd.util.fxdesigner.model.LogEntry; import net.sourceforge.pmd.util.fxdesigner.model.LogEntry.Category; -import org.reactfx.EventStream; -import org.reactfx.EventStreams; + import javafx.beans.property.SimpleObjectProperty; import javafx.fxml.FXML; import javafx.fxml.Initializable; @@ -35,6 +37,8 @@ public class EventLogController implements Initializable { private final DesignerRoot designerRoot; + private final Duration timeDuration = Duration.ofMillis(100); + @FXML private TableView eventLogTableView; @FXML @@ -74,7 +78,7 @@ public class EventLogController implements Initializable { EventStream e1 = designerRoot.getLogger().getLog() .filter(x -> x.getCategory().equals(Category.PARSE_EXCEPTION)) - .successionEnds(Duration.ofMillis(1000)); + .successionEnds(timeDuration); EventStream e2 = designerRoot.getLogger().getLog() .filter(x -> !x.getCategory().equals(Category.PARSE_EXCEPTION)); diff --git a/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/SourceEditorController.java b/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/SourceEditorController.java index 8c4de25585..784a8f1495 100644 --- a/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/SourceEditorController.java +++ b/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/SourceEditorController.java @@ -55,7 +55,7 @@ public class SourceEditorController implements Initializable, SettingsOwner { private ASTManager astManager; private TreeViewWrapper treeViewWrapper; private ASTTreeItem selectedTreeItem; - + private Duration timeDuration = Duration.ofMillis(100); public SourceEditorController(DesignerRoot owner, MainDesignerController mainController) { parent = mainController; @@ -83,7 +83,7 @@ public class SourceEditorController implements Initializable, SettingsOwner { codeEditorArea.richChanges() .filter(t -> !t.getInserted().equals(t.getRemoved())) - .successionEnds(Duration.ofMillis(100)) + .successionEnds(timeDuration) .subscribe(richChange -> parent.onRefreshASTClicked()); codeEditorArea.setParagraphGraphicFactory(LineNumberFactory.get(codeEditorArea)); diff --git a/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/XPathPanelController.java b/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/XPathPanelController.java index 6ce4942798..4f5c42a143 100644 --- a/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/XPathPanelController.java +++ b/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/XPathPanelController.java @@ -209,7 +209,7 @@ public class XPathPanelController implements Initializable, SettingsOwner { } xpathResultListView.refresh(); - xpathExpressionArea.requestFocus(); + } diff --git a/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/model/EventLogger.java b/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/model/EventLogger.java index e33d7670c3..d8a1f5c08f 100644 --- a/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/model/EventLogger.java +++ b/pmd-ui/src/main/java/net/sourceforge/pmd/util/fxdesigner/model/EventLogger.java @@ -17,12 +17,18 @@ import org.reactfx.value.Var; */ public class EventLogger { - private Var latestEvent = Var.newSimpleVar(null); + private final Var latestEvent = Var.newSimpleVar(null); public void logEvent(LogEntry event) { latestEvent.setValue(event); } + /** + * Gets a Stream of Log Events + * + * @return The Event Stream of Log + */ + public EventStream getLog() { return latestEvent.values().filter(Objects::nonNull); }