KT-32366: Add TextEditorWithPreview.setLayout method

- it is done to be able to trace when layout is changed
- all actions use this method too
This commit is contained in:
Roman Golyshev
2019-08-19 12:23:23 +03:00
committed by Roman Golyshev
parent 1d6de45db6
commit dd1ace37d2
@@ -117,7 +117,7 @@ public class TextEditorWithPreview extends UserDataHolderBase implements FileEdi
if (myLayout == null) { if (myLayout == null) {
String lastUsed = PropertiesComponent.getInstance().getValue(getLayoutPropertyName()); String lastUsed = PropertiesComponent.getInstance().getValue(getLayoutPropertyName());
myLayout = Layout.fromName(lastUsed, Layout.SHOW_EDITOR_AND_PREVIEW); setLayout(Layout.fromName(lastUsed, Layout.SHOW_EDITOR_AND_PREVIEW));
} }
adjustEditorsVisibility(); adjustEditorsVisibility();
@@ -152,7 +152,7 @@ public class TextEditorWithPreview extends UserDataHolderBase implements FileEdi
myPreview.setState(compositeState.getSecondState()); myPreview.setState(compositeState.getSecondState());
} }
if (compositeState.getSplitLayout() != null) { if (compositeState.getSplitLayout() != null) {
myLayout = compositeState.getSplitLayout(); setLayout(compositeState.getSplitLayout());
invalidateLayout(); invalidateLayout();
} }
} }
@@ -236,6 +236,10 @@ public class TextEditorWithPreview extends UserDataHolderBase implements FileEdi
return myLayout; return myLayout;
} }
protected void setLayout(@NotNull Layout layout) {
myLayout = layout;
}
static class MyFileEditorState implements FileEditorState { static class MyFileEditorState implements FileEditorState {
private final Layout mySplitLayout; private final Layout mySplitLayout;
private final FileEditorState myFirstState; private final FileEditorState myFirstState;
@@ -430,7 +434,7 @@ public class TextEditorWithPreview extends UserDataHolderBase implements FileEdi
@Override @Override
public void setSelected(@NotNull AnActionEvent e, boolean state) { public void setSelected(@NotNull AnActionEvent e, boolean state) {
if (state) { if (state) {
myLayout = myActionLayout; setLayout(myActionLayout);
PropertiesComponent.getInstance().setValue(getLayoutPropertyName(), myLayout.myName, Layout.SHOW_EDITOR_AND_PREVIEW.myName); PropertiesComponent.getInstance().setValue(getLayoutPropertyName(), myLayout.myName, Layout.SHOW_EDITOR_AND_PREVIEW.myName);
adjustEditorsVisibility(); adjustEditorsVisibility();
} }