From cf7dff45a98470265fd83ef13797b39adea9d3e9 Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Thu, 27 Feb 2014 22:38:10 +0400 Subject: [PATCH] Support segue's --- .../src/com/intellij/designer/model/Property.java | 4 ++++ .../com/intellij/designer/propertyTable/PropertyTable.java | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/designer/model/Property.java b/platform/platform-impl/src/com/intellij/designer/model/Property.java index b44b5991edf1..9f902c8f864e 100644 --- a/platform/platform-impl/src/com/intellij/designer/model/Property.java +++ b/platform/platform-impl/src/com/intellij/designer/model/Property.java @@ -120,6 +120,10 @@ public abstract class Property { return false; } + public boolean closeEditorDuringRefresh() { + return false; + } + ////////////////////////////////////////////////////////////////////////////////////////// // // Presentation diff --git a/platform/platform-impl/src/com/intellij/designer/propertyTable/PropertyTable.java b/platform/platform-impl/src/com/intellij/designer/propertyTable/PropertyTable.java index 9ea80470d7f1..e8deef934e8e 100644 --- a/platform/platform-impl/src/com/intellij/designer/propertyTable/PropertyTable.java +++ b/platform/platform-impl/src/com/intellij/designer/propertyTable/PropertyTable.java @@ -848,7 +848,7 @@ public abstract class PropertyTable extends JBTable { if (isSetValue) { if (property.needRefreshPropertyList() || needRefresh[0]) { - update(myContainers, null, false); + update(myContainers, null, property.closeEditorDuringRefresh()); } else { myModel.fireTableRowsUpdated(row, row); @@ -1113,7 +1113,7 @@ public abstract class PropertyTable extends JBTable { } if (setValueAtRow(editingRow, value)) { - if (!continueEditing) { + if (!continueEditing && editingRow != -1) { PropertyEditor editor = myProperties.get(editingRow).getEditor(); editor.removePropertyEditorListener(myPropertyEditorListener); removeEditor();