Skip to content

Commit 9599be8

Browse files
committed
#191: Pattern Navigator should automatically refresh when submitting changes to a pattern
1 parent 1e98494 commit 9599be8

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

‎kview/src/main/java/dev/ikm/komet/kview/mvvm/view/genpurpose/GenPurposeDetailsController.java‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package dev.ikm.komet.kview.mvvm.view.genpurpose;
1717

18+
import static dev.ikm.komet.kview.events.EventTopics.SAVE_PATTERN_TOPIC;
1819
import static dev.ikm.komet.kview.events.genpurpose.KLPropertyPanelEvent.CLOSE_PANEL;
1920
import static dev.ikm.komet.kview.events.genpurpose.KLPropertyPanelEvent.NO_SELECTION_MADE_PANEL;
2021
import static dev.ikm.komet.kview.events.genpurpose.KLPropertyPanelEvent.OPEN_PANEL;
@@ -51,6 +52,7 @@
5152
import dev.ikm.komet.kview.events.ClosePropertiesPanelEvent;
5253
import dev.ikm.komet.kview.events.genpurpose.GenPurposeEvent;
5354
import dev.ikm.komet.kview.events.genpurpose.KLPropertyPanelEvent;
55+
import dev.ikm.komet.kview.events.pattern.PatternSavedEvent;
5456
import dev.ikm.komet.kview.mvvm.view.genpurpose.control.PropertiesTabsControl;
5557
import dev.ikm.komet.kview.mvvm.view.genpurpose.control.PropertiesTabsControl.Tab;
5658
import dev.ikm.komet.kview.mvvm.view.genpurpose.control.SectionSemanticsComboBoxCell;
@@ -1827,6 +1829,15 @@ private void publish() {
18271829
reloadAllSemanticViews();
18281830
updatePublishState();
18291831

1832+
// The pattern navigator lists patterns from the committed store, so a pattern created
1833+
// or changed here shows up there only once told the commit happened. Announce it the
1834+
// way the classic pattern window does; the navigator reloads on this topic
1835+
// (ikmdev/komet-desktop#191).
1836+
if (editorWindowModel.getWindowType() == EditorWindowType.STANDARD_PATTERN) {
1837+
EvtBusFactory.getDefaultEvtBus().publish(SAVE_PATTERN_TOPIC, new PatternSavedEvent(this,
1838+
wasCreateMode ? PatternSavedEvent.PATTERN_CREATION_EVENT : PatternSavedEvent.PATTERN_UPDATE_EVENT));
1839+
}
1840+
18301841
if (unpublishable > 0) {
18311842
toast().show(Toast.Status.FAILURE, unpublishable == 1
18321843
? "1 change could not be published: it was saved in an earlier session"

0 commit comments

Comments
 (0)