mirror of
https://github.com/mitb-archive/filebot
synced 2024-11-11 11:55:03 -05:00
Enable new format expression token maker and syntax highlighting
This commit is contained in:
parent
aeb630d76a
commit
75347ae67f
@ -1,6 +1,5 @@
|
|||||||
package net.filebot.ui.list;
|
package net.filebot.ui.list;
|
||||||
|
|
||||||
import static java.awt.Font.*;
|
|
||||||
import static java.util.stream.Collectors.*;
|
import static java.util.stream.Collectors.*;
|
||||||
import static javax.swing.BorderFactory.*;
|
import static javax.swing.BorderFactory.*;
|
||||||
import static net.filebot.Settings.*;
|
import static net.filebot.Settings.*;
|
||||||
@ -8,7 +7,6 @@ import static net.filebot.util.ui.SwingUI.*;
|
|||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
import java.awt.datatransfer.StringSelection;
|
import java.awt.datatransfer.StringSelection;
|
||||||
import java.awt.datatransfer.Transferable;
|
import java.awt.datatransfer.Transferable;
|
||||||
@ -29,9 +27,9 @@ import javax.swing.JSpinner.NumberEditor;
|
|||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import javax.swing.SpinnerNumberModel;
|
import javax.swing.SpinnerNumberModel;
|
||||||
import javax.swing.TransferHandler;
|
import javax.swing.TransferHandler;
|
||||||
|
import javax.swing.border.Border;
|
||||||
|
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
|
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
|
||||||
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
||||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||||
|
|
||||||
@ -42,12 +40,12 @@ import net.filebot.format.ExpressionFormat;
|
|||||||
import net.filebot.ui.FileBotList;
|
import net.filebot.ui.FileBotList;
|
||||||
import net.filebot.ui.FileBotListExportHandler;
|
import net.filebot.ui.FileBotListExportHandler;
|
||||||
import net.filebot.ui.PanelBuilder;
|
import net.filebot.ui.PanelBuilder;
|
||||||
|
import net.filebot.ui.rename.FormatExpressionTextArea;
|
||||||
import net.filebot.ui.transfer.LoadAction;
|
import net.filebot.ui.transfer.LoadAction;
|
||||||
import net.filebot.ui.transfer.SaveAction;
|
import net.filebot.ui.transfer.SaveAction;
|
||||||
import net.filebot.ui.transfer.TransferablePolicy;
|
import net.filebot.ui.transfer.TransferablePolicy;
|
||||||
import net.filebot.ui.transfer.TransferablePolicy.TransferAction;
|
import net.filebot.ui.transfer.TransferablePolicy.TransferAction;
|
||||||
import net.filebot.util.ui.DefaultFancyListCellRenderer;
|
import net.filebot.util.ui.DefaultFancyListCellRenderer;
|
||||||
import net.filebot.util.ui.LazyDocumentListener;
|
|
||||||
import net.filebot.util.ui.PrototypeCellValueUpdater;
|
import net.filebot.util.ui.PrototypeCellValueUpdater;
|
||||||
import net.filebot.util.ui.SwingEventBus;
|
import net.filebot.util.ui.SwingEventBus;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
@ -58,7 +56,7 @@ public class ListPanel extends JComponent {
|
|||||||
public static final String DEFAULT_FILE_FORMAT = "{fn}";
|
public static final String DEFAULT_FILE_FORMAT = "{fn}";
|
||||||
public static final String DEFAULT_EPISODE_FORMAT = "{n} - {s00e00} - [{absolute}] - [{airdate}] - {t}";
|
public static final String DEFAULT_EPISODE_FORMAT = "{n} - {s00e00} - [{absolute}] - [{airdate}] - {t}";
|
||||||
|
|
||||||
private RSyntaxTextArea editor = createEditor();
|
private FormatExpressionTextArea editor = new FormatExpressionTextArea(new RSyntaxDocument(SyntaxConstants.SYNTAX_STYLE_GROOVY));
|
||||||
private SpinnerNumberModel fromSpinnerModel = new SpinnerNumberModel(1, 0, Integer.MAX_VALUE, 1);
|
private SpinnerNumberModel fromSpinnerModel = new SpinnerNumberModel(1, 0, Integer.MAX_VALUE, 1);
|
||||||
private SpinnerNumberModel toSpinnerModel = new SpinnerNumberModel(20, 0, Integer.MAX_VALUE, 1);
|
private SpinnerNumberModel toSpinnerModel = new SpinnerNumberModel(20, 0, Integer.MAX_VALUE, 1);
|
||||||
|
|
||||||
@ -134,14 +132,28 @@ public class ListPanel extends JComponent {
|
|||||||
editorScrollPane.setVerticalScrollBarPolicy(RTextScrollPane.VERTICAL_SCROLLBAR_NEVER);
|
editorScrollPane.setVerticalScrollBarPolicy(RTextScrollPane.VERTICAL_SCROLLBAR_NEVER);
|
||||||
editorScrollPane.setHorizontalScrollBarPolicy(RTextScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
editorScrollPane.setHorizontalScrollBarPolicy(RTextScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||||
editorScrollPane.setBackground(editor.getBackground());
|
editorScrollPane.setBackground(editor.getBackground());
|
||||||
editorScrollPane.setViewportBorder(createEmptyBorder(2, 2, 2, 2));
|
|
||||||
editorScrollPane.setOpaque(true);
|
editorScrollPane.setOpaque(true);
|
||||||
editorScrollPane.setBorder(new JTextField().getBorder());
|
|
||||||
|
Border defaultBorder = new JTextField().getBorder();
|
||||||
|
Border okBorder = createCompoundBorder(defaultBorder, createEmptyBorder(2, 2, 2, 2));
|
||||||
|
Border errorBorder = createCompoundBorder(createLineBorder(Color.RED, 1), createCompoundBorder(defaultBorder, createEmptyBorder(1, 1, 1, 1)));
|
||||||
|
|
||||||
|
editorScrollPane.setBorder(okBorder);
|
||||||
|
|
||||||
|
// update format on change
|
||||||
|
editor.onChange(20, evt -> {
|
||||||
|
try {
|
||||||
|
String expression = editor.getText().trim();
|
||||||
|
setFormat(expression.isEmpty() ? null : new ExpressionFormat(expression));
|
||||||
|
editorScrollPane.setBorder(okBorder);
|
||||||
|
} catch (ScriptException e) {
|
||||||
|
editorScrollPane.setBorder(errorBorder);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
setLayout(new MigLayout("nogrid, fill, insets dialog", "align center", "[pref!, center][fill]"));
|
setLayout(new MigLayout("nogrid, fill, insets dialog", "align center", "[pref!, center][fill]"));
|
||||||
|
|
||||||
JLabel patternLabel = new JLabel("Pattern:");
|
add(new JLabel("Pattern:"), "gapbefore indent");
|
||||||
add(patternLabel, "gapbefore indent");
|
|
||||||
add(editorScrollPane, "gap related, growx, wmin 2cm, h pref!, sizegroupy editor");
|
add(editorScrollPane, "gap related, growx, wmin 2cm, h pref!, sizegroupy editor");
|
||||||
add(new JLabel("From:"), "gap 5mm");
|
add(new JLabel("From:"), "gap 5mm");
|
||||||
add(fromSpinner, "gap related, wmax 15mm, sizegroup spinner, sizegroupy editor");
|
add(fromSpinner, "gap related, wmax 15mm, sizegroup spinner, sizegroupy editor");
|
||||||
@ -162,41 +174,6 @@ public class ListPanel extends JComponent {
|
|||||||
createItemSequence();
|
createItemSequence();
|
||||||
}
|
}
|
||||||
|
|
||||||
private RSyntaxTextArea createEditor() {
|
|
||||||
RSyntaxTextArea editor = new RSyntaxTextArea(new RSyntaxDocument(SyntaxConstants.SYNTAX_STYLE_GROOVY), "", 1, 80);
|
|
||||||
|
|
||||||
editor.setAntiAliasingEnabled(true);
|
|
||||||
editor.setAnimateBracketMatching(false);
|
|
||||||
editor.setAutoIndentEnabled(false);
|
|
||||||
editor.setClearWhitespaceLinesEnabled(false);
|
|
||||||
editor.setBracketMatchingEnabled(true);
|
|
||||||
editor.setCloseCurlyBraces(false);
|
|
||||||
editor.setCodeFoldingEnabled(false);
|
|
||||||
editor.setHyperlinksEnabled(false);
|
|
||||||
editor.setUseFocusableTips(false);
|
|
||||||
editor.setHighlightCurrentLine(false);
|
|
||||||
editor.setLineWrap(false);
|
|
||||||
editor.setPaintMarkOccurrencesBorder(false);
|
|
||||||
editor.setPaintTabLines(false);
|
|
||||||
editor.setMarkOccurrences(false);
|
|
||||||
editor.setFont(new Font(MONOSPACED, PLAIN, 14));
|
|
||||||
|
|
||||||
Color defaultForeground = editor.getForeground();
|
|
||||||
|
|
||||||
// update format on change
|
|
||||||
editor.getDocument().addDocumentListener(new LazyDocumentListener(20, evt -> {
|
|
||||||
try {
|
|
||||||
String expression = editor.getText().trim();
|
|
||||||
setFormat(expression.isEmpty() ? null : new ExpressionFormat(expression));
|
|
||||||
editor.setForeground(defaultForeground);
|
|
||||||
} catch (ScriptException e) {
|
|
||||||
editor.setForeground(Color.RED);
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
return editor;
|
|
||||||
}
|
|
||||||
|
|
||||||
private ExpressionFormat format;
|
private ExpressionFormat format;
|
||||||
private String template;
|
private String template;
|
||||||
|
|
||||||
|
@ -55,9 +55,6 @@ import javax.swing.Timer;
|
|||||||
import javax.swing.event.PopupMenuEvent;
|
import javax.swing.event.PopupMenuEvent;
|
||||||
import javax.swing.event.PopupMenuListener;
|
import javax.swing.event.PopupMenuListener;
|
||||||
|
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
|
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
|
||||||
import org.fife.ui.rsyntaxtextarea.Theme;
|
|
||||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||||
|
|
||||||
import net.filebot.ResourceManager;
|
import net.filebot.ResourceManager;
|
||||||
@ -74,7 +71,6 @@ import net.filebot.util.DefaultThreadFactory;
|
|||||||
import net.filebot.util.PreferencesList;
|
import net.filebot.util.PreferencesList;
|
||||||
import net.filebot.util.PreferencesMap.PreferencesEntry;
|
import net.filebot.util.PreferencesMap.PreferencesEntry;
|
||||||
import net.filebot.util.ui.GradientStyle;
|
import net.filebot.util.ui.GradientStyle;
|
||||||
import net.filebot.util.ui.LazyDocumentListener;
|
|
||||||
import net.filebot.util.ui.LinkButton;
|
import net.filebot.util.ui.LinkButton;
|
||||||
import net.filebot.util.ui.ProgressIndicator;
|
import net.filebot.util.ui.ProgressIndicator;
|
||||||
import net.filebot.util.ui.notification.SeparatorBorder;
|
import net.filebot.util.ui.notification.SeparatorBorder;
|
||||||
@ -103,7 +99,7 @@ public class FormatDialog extends JDialog {
|
|||||||
private JLabel preview = new JLabel();
|
private JLabel preview = new JLabel();
|
||||||
private JLabel status = new JLabel();
|
private JLabel status = new JLabel();
|
||||||
|
|
||||||
private RSyntaxTextArea editor = createEditor();
|
private FormatExpressionTextArea editor = new FormatExpressionTextArea();
|
||||||
private ProgressIndicator progressIndicator = new ProgressIndicator();
|
private ProgressIndicator progressIndicator = new ProgressIndicator();
|
||||||
|
|
||||||
private JLabel title = new JLabel();
|
private JLabel title = new JLabel();
|
||||||
@ -255,6 +251,11 @@ public class FormatDialog extends JDialog {
|
|||||||
log.info("Error message has been copied to clipboard");
|
log.info("Error message has been copied to clipboard");
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
// update format on change
|
||||||
|
editor.onChange(evt -> {
|
||||||
|
checkFormatInBackground();
|
||||||
|
});
|
||||||
|
|
||||||
// update preview if sample has changed
|
// update preview if sample has changed
|
||||||
addPropertyChangeListener("sample", evt -> {
|
addPropertyChangeListener("sample", evt -> {
|
||||||
if (isMacSandbox()) {
|
if (isMacSandbox()) {
|
||||||
@ -358,51 +359,6 @@ public class FormatDialog extends JDialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private RSyntaxTextArea createEditor() {
|
|
||||||
RSyntaxDocument document = new RSyntaxDocument(new FormatExpressionTokenMakerFactory(), FormatExpressionTokenMakerFactory.SYNTAX_STYLE_GROOVY_FORMAT_EXPRESSION);
|
|
||||||
RSyntaxTextArea editor = new RSyntaxTextArea(document, "", 1, 80);
|
|
||||||
|
|
||||||
try {
|
|
||||||
Theme.load(FormatDialog.class.getResourceAsStream("FormatExpression.RSyntaxTheme.xml")).apply(editor);
|
|
||||||
} catch (Exception e) {
|
|
||||||
debug.log(Level.WARNING, e, e::toString);
|
|
||||||
}
|
|
||||||
|
|
||||||
editor.setAntiAliasingEnabled(true);
|
|
||||||
editor.setAnimateBracketMatching(true);
|
|
||||||
editor.setAutoIndentEnabled(true);
|
|
||||||
editor.setBracketMatchingEnabled(true);
|
|
||||||
editor.setCloseCurlyBraces(true);
|
|
||||||
editor.setCodeFoldingEnabled(false);
|
|
||||||
editor.setHyperlinksEnabled(false);
|
|
||||||
editor.setUseFocusableTips(false);
|
|
||||||
editor.setClearWhitespaceLinesEnabled(false);
|
|
||||||
editor.setHighlightCurrentLine(false);
|
|
||||||
editor.setHighlightSecondaryLanguages(false);
|
|
||||||
editor.setLineWrap(false);
|
|
||||||
editor.setMarkOccurrences(false);
|
|
||||||
editor.setPaintMarkOccurrencesBorder(false);
|
|
||||||
editor.setPaintTabLines(false);
|
|
||||||
editor.setFont(new Font(MONOSPACED, PLAIN, 14));
|
|
||||||
|
|
||||||
// update format on change
|
|
||||||
editor.getDocument().addDocumentListener(new LazyDocumentListener(evt -> {
|
|
||||||
checkFormatInBackground();
|
|
||||||
}));
|
|
||||||
|
|
||||||
// dynamically resize the code editor depending on how many lines the current format expression has
|
|
||||||
editor.getDocument().addDocumentListener(new LazyDocumentListener(0, evt -> {
|
|
||||||
int r1 = editor.getRows();
|
|
||||||
int r2 = (int) editor.getText().chars().filter(c -> c == '\n').count() + 1;
|
|
||||||
if (r1 != r2) {
|
|
||||||
editor.setRows(r2);
|
|
||||||
getWindow(editor).revalidate();
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
return editor;
|
|
||||||
}
|
|
||||||
|
|
||||||
private JComponent createSyntaxPanel(Mode mode) {
|
private JComponent createSyntaxPanel(Mode mode) {
|
||||||
JPanel panel = new JPanel(new MigLayout("fill, nogrid, novisualpadding", "[pref]", "[fill, min]"));
|
JPanel panel = new JPanel(new MigLayout("fill, nogrid, novisualpadding", "[pref]", "[fill, min]"));
|
||||||
panel.setBorder(createLineBorder(new Color(0xACA899)));
|
panel.setBorder(createLineBorder(new Color(0xACA899)));
|
||||||
|
70
source/net/filebot/ui/rename/FormatExpressionTextArea.java
Normal file
70
source/net/filebot/ui/rename/FormatExpressionTextArea.java
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
package net.filebot.ui.rename;
|
||||||
|
|
||||||
|
import static java.awt.Font.*;
|
||||||
|
import static net.filebot.Logging.*;
|
||||||
|
import static net.filebot.util.ui.SwingUI.*;
|
||||||
|
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import javax.swing.event.DocumentEvent;
|
||||||
|
|
||||||
|
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
|
||||||
|
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||||
|
import org.fife.ui.rsyntaxtextarea.Theme;
|
||||||
|
|
||||||
|
import net.filebot.util.ui.LazyDocumentListener;
|
||||||
|
|
||||||
|
public class FormatExpressionTextArea extends RSyntaxTextArea {
|
||||||
|
|
||||||
|
public FormatExpressionTextArea() {
|
||||||
|
this(new RSyntaxDocument(new FormatExpressionTokenMakerFactory(), FormatExpressionTokenMakerFactory.SYNTAX_STYLE_GROOVY_FORMAT_EXPRESSION));
|
||||||
|
}
|
||||||
|
|
||||||
|
public FormatExpressionTextArea(RSyntaxDocument syntaxDocument) {
|
||||||
|
super(syntaxDocument, "", 1, 80);
|
||||||
|
|
||||||
|
try {
|
||||||
|
Theme.load(FormatExpressionTextArea.class.getResourceAsStream("FormatExpressionTextArea.Theme.xml")).apply(this);
|
||||||
|
} catch (Exception e) {
|
||||||
|
debug.log(Level.WARNING, e, e::toString);
|
||||||
|
}
|
||||||
|
|
||||||
|
setAntiAliasingEnabled(true);
|
||||||
|
setAnimateBracketMatching(true);
|
||||||
|
setAutoIndentEnabled(true);
|
||||||
|
setBracketMatchingEnabled(true);
|
||||||
|
setCloseCurlyBraces(true);
|
||||||
|
setCodeFoldingEnabled(false);
|
||||||
|
setHyperlinksEnabled(false);
|
||||||
|
setUseFocusableTips(false);
|
||||||
|
setClearWhitespaceLinesEnabled(false);
|
||||||
|
setHighlightCurrentLine(false);
|
||||||
|
setHighlightSecondaryLanguages(false);
|
||||||
|
setLineWrap(false);
|
||||||
|
setMarkOccurrences(false);
|
||||||
|
setPaintMarkOccurrencesBorder(false);
|
||||||
|
setPaintTabLines(false);
|
||||||
|
setFont(new Font(MONOSPACED, PLAIN, 14));
|
||||||
|
|
||||||
|
// dynamically resize the code editor depending on how many lines the current format expression has
|
||||||
|
getDocument().addDocumentListener(new LazyDocumentListener(0, evt -> {
|
||||||
|
int r1 = getRows();
|
||||||
|
int r2 = (int) getText().chars().filter(c -> c == '\n').count() + 1;
|
||||||
|
if (r1 != r2) {
|
||||||
|
setRows(r2);
|
||||||
|
getWindow(FormatExpressionTextArea.this).revalidate();
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onChange(Consumer<DocumentEvent> handler) {
|
||||||
|
getDocument().addDocumentListener(new LazyDocumentListener(handler));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onChange(int delay, Consumer<DocumentEvent> handler) {
|
||||||
|
getDocument().addDocumentListener(new LazyDocumentListener(delay, handler));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,13 +1,11 @@
|
|||||||
package net.filebot.ui.rename;
|
package net.filebot.ui.rename;
|
||||||
|
|
||||||
import static java.awt.Font.*;
|
|
||||||
import static java.util.Collections.*;
|
import static java.util.Collections.*;
|
||||||
import static javax.swing.BorderFactory.*;
|
import static javax.swing.BorderFactory.*;
|
||||||
import static net.filebot.Logging.*;
|
import static net.filebot.Logging.*;
|
||||||
import static net.filebot.Settings.*;
|
import static net.filebot.Settings.*;
|
||||||
import static net.filebot.util.ui.SwingUI.*;
|
import static net.filebot.util.ui.SwingUI.*;
|
||||||
|
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.Window;
|
import java.awt.Window;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -28,7 +26,6 @@ import javax.swing.ListCellRenderer;
|
|||||||
|
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
|
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||||
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
|
||||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||||
|
|
||||||
import net.filebot.Language;
|
import net.filebot.Language;
|
||||||
@ -83,8 +80,8 @@ public class PresetEditor extends JDialog {
|
|||||||
selectRadio = new JRadioButton("<html><nobr>Do <b>Select</b> files</nobr></html>");
|
selectRadio = new JRadioButton("<html><nobr>Do <b>Select</b> files</nobr></html>");
|
||||||
pathInput = new JTextField(40);
|
pathInput = new JTextField(40);
|
||||||
|
|
||||||
filterEditor = createEditor();
|
filterEditor = new FormatExpressionTextArea(new RSyntaxDocument(RSyntaxDocument.SYNTAX_STYLE_GROOVY));
|
||||||
formatEditor = createEditor();
|
formatEditor = new FormatExpressionTextArea();
|
||||||
|
|
||||||
actionCombo = createRenameActionCombo();
|
actionCombo = createRenameActionCombo();
|
||||||
providerCombo = createDataProviderCombo();
|
providerCombo = createDataProviderCombo();
|
||||||
@ -199,28 +196,6 @@ public class PresetEditor extends JDialog {
|
|||||||
return inputGroup;
|
return inputGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
private RSyntaxTextArea createEditor() {
|
|
||||||
RSyntaxTextArea editor = new RSyntaxTextArea(new RSyntaxDocument(SyntaxConstants.SYNTAX_STYLE_GROOVY), "", 1, 80);
|
|
||||||
|
|
||||||
editor.setAntiAliasingEnabled(true);
|
|
||||||
editor.setAnimateBracketMatching(false);
|
|
||||||
editor.setAutoIndentEnabled(false);
|
|
||||||
editor.setClearWhitespaceLinesEnabled(false);
|
|
||||||
editor.setBracketMatchingEnabled(true);
|
|
||||||
editor.setCloseCurlyBraces(false);
|
|
||||||
editor.setCodeFoldingEnabled(false);
|
|
||||||
editor.setHyperlinksEnabled(false);
|
|
||||||
editor.setUseFocusableTips(false);
|
|
||||||
editor.setHighlightCurrentLine(false);
|
|
||||||
editor.setLineWrap(false);
|
|
||||||
editor.setPaintMarkOccurrencesBorder(false);
|
|
||||||
editor.setPaintTabLines(false);
|
|
||||||
editor.setMarkOccurrences(false);
|
|
||||||
editor.setFont(new Font(MONOSPACED, PLAIN, 14));
|
|
||||||
|
|
||||||
return editor;
|
|
||||||
}
|
|
||||||
|
|
||||||
private RTextScrollPane wrapEditor(RSyntaxTextArea editor) {
|
private RTextScrollPane wrapEditor(RSyntaxTextArea editor) {
|
||||||
RTextScrollPane scroll = new RTextScrollPane(editor, false);
|
RTextScrollPane scroll = new RTextScrollPane(editor, false);
|
||||||
scroll.setLineNumbersEnabled(false);
|
scroll.setLineNumbersEnabled(false);
|
||||||
|
Loading…
Reference in New Issue
Block a user