mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
WI-1263 Make Code Style Settings Live Preview editable
This commit is contained in:
@@ -87,7 +87,7 @@ public abstract class CodeStyleAbstractPanel implements Disposable {
|
||||
private long myEndHighlightPreviewChangesTimeMillis = -1;
|
||||
private boolean myShowsPreviewHighlighters;
|
||||
private boolean mySkipPreviewHighlighting;
|
||||
private LanguageSelector myLanguageSelector;
|
||||
private LanguageSelector myLanguageSelector;
|
||||
|
||||
protected CodeStyleAbstractPanel(CodeStyleSettings settings) {
|
||||
mySettings = settings;
|
||||
@@ -100,7 +100,7 @@ public abstract class CodeStyleAbstractPanel implements Disposable {
|
||||
}
|
||||
});
|
||||
|
||||
updatePreview();
|
||||
updatePreview(true);
|
||||
}
|
||||
|
||||
private synchronized void setSomethingChanged(final boolean b) {
|
||||
@@ -128,7 +128,7 @@ public abstract class CodeStyleAbstractPanel implements Disposable {
|
||||
private Editor createEditor() {
|
||||
EditorFactory editorFactory = EditorFactory.getInstance();
|
||||
Document editorDocument = editorFactory.createDocument("");
|
||||
EditorEx editor = (EditorEx)editorFactory.createViewer(editorDocument);
|
||||
EditorEx editor = (EditorEx)editorFactory.createEditor(editorDocument);
|
||||
fillEditorSettings(editor.getSettings());
|
||||
myLastDocumentModificationStamp = editor.getDocument().getModificationStamp();
|
||||
return editor;
|
||||
@@ -145,19 +145,20 @@ public abstract class CodeStyleAbstractPanel implements Disposable {
|
||||
editorSettings.setUseSoftWraps(false);
|
||||
}
|
||||
|
||||
protected void updatePreview() {
|
||||
updateEditor();
|
||||
protected void updatePreview(boolean useDefaultSample) {
|
||||
updateEditor(useDefaultSample);
|
||||
updatePreviewHighlighter((EditorEx)myEditor);
|
||||
}
|
||||
|
||||
private void updateEditor() {
|
||||
private void updateEditor(boolean useDefaultSample) {
|
||||
if (!myShouldUpdatePreview || !myEditor.getComponent().isShowing()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (myLastDocumentModificationStamp != myEditor.getDocument().getModificationStamp()) {
|
||||
myTextToReformat = myEditor.getDocument().getText();
|
||||
} else {
|
||||
}
|
||||
else if (useDefaultSample || myTextToReformat == null) {
|
||||
myTextToReformat = getPreviewText();
|
||||
}
|
||||
|
||||
@@ -470,7 +471,7 @@ public abstract class CodeStyleAbstractPanel implements Disposable {
|
||||
try {
|
||||
myUpdateAlarm.cancelAllRequests();
|
||||
if (isSomethingChanged()) {
|
||||
updateEditor();
|
||||
updateEditor(false);
|
||||
}
|
||||
if (System.currentTimeMillis() <= myEndHighlightPreviewChangesTimeMillis && !myPreviewRangesToHighlight.isEmpty()) {
|
||||
blinkHighlighters();
|
||||
|
||||
@@ -146,7 +146,7 @@ public class GeneralCodeStylePanel extends CodeStyleAbstractPanel {
|
||||
final int selIndex = myIndentOptionsTabs.getSelectedIndex();
|
||||
if (selIndex != myLastSelectedTab) {
|
||||
myLastSelectedTab = selIndex;
|
||||
updatePreview();
|
||||
updatePreview(true);
|
||||
somethingChanged();
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -98,7 +98,7 @@ public abstract class MultilanguageCodeStyleAbstractPanel extends CodeStyleAbstr
|
||||
finally {
|
||||
setSkipPreviewHighlighting(false);
|
||||
}
|
||||
updatePreview();
|
||||
updatePreview(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ public abstract class MultilanguageCodeStyleAbstractPanel extends CodeStyleAbstr
|
||||
setPanelLanguage(langs[0]);
|
||||
}
|
||||
else {
|
||||
updatePreview();
|
||||
updatePreview(true);
|
||||
}
|
||||
tabbedPane.addChangeListener(new ChangeListener() {
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
@@ -241,7 +241,7 @@ public abstract class MultilanguageCodeStyleAbstractPanel extends CodeStyleAbstr
|
||||
else {
|
||||
// If settings are language-specific
|
||||
previewPanel.add(getEditor().getComponent(), BorderLayout.CENTER);
|
||||
updatePreview();
|
||||
updatePreview(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user