mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-27 08:40:49 +00:00
add/remove breakpoints
This commit is contained in:
+10
@@ -0,0 +1,10 @@
|
||||
package jsyntaxpane.components;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public interface BreakPointListener {
|
||||
|
||||
public void toggled(int line);
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Copyright 2008 Ayman Al-Sairafi [email protected]
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License
|
||||
* at http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package jsyntaxpane.components;
|
||||
|
||||
import java.awt.Point;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import javax.swing.JEditorPane;
|
||||
import javax.swing.text.BadLocationException;
|
||||
import jsyntaxpane.actions.ActionUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class LineNumbersBreakpointsRuler extends LineNumbersRuler {
|
||||
|
||||
@Override
|
||||
public void install(final JEditorPane editor) {
|
||||
super.install(editor);
|
||||
removeMouseListener(mouseListener);
|
||||
mouseListener = new MouseAdapter() {
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
Point p = e.getPoint();
|
||||
p.x = 0;
|
||||
int loc = editor.viewToModel(p);
|
||||
|
||||
int currentLine = -1;
|
||||
try {
|
||||
currentLine = ActionUtils.getLineNumber(editor, loc) + 1;
|
||||
} catch (BadLocationException ex) {
|
||||
//ignore
|
||||
}
|
||||
|
||||
if (currentLine > -1 && (editor instanceof BreakPointListener)) {
|
||||
((BreakPointListener) editor).toggled(currentLine);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
addMouseListener(mouseListener);
|
||||
}
|
||||
|
||||
}
|
||||
+235
-237
@@ -47,286 +47,284 @@ import jsyntaxpane.util.Configuration;
|
||||
|
||||
/**
|
||||
* This class will display line numbers for a related text component. The text
|
||||
* component must use the same line height for each line.
|
||||
* component must use the same line height for each line.
|
||||
*
|
||||
* This class was designed to be used as a component added to the row header
|
||||
* of a JScrollPane.
|
||||
* This class was designed to be used as a component added to the row header of
|
||||
* a JScrollPane.
|
||||
*
|
||||
* Original code from http://tips4java.wordpress.com/2009/05/23/text-component-line-number/
|
||||
* Original code from
|
||||
* http://tips4java.wordpress.com/2009/05/23/text-component-line-number/
|
||||
*
|
||||
* @author Rob Camick
|
||||
*
|
||||
* Revised for jsyntaxpane
|
||||
*
|
||||
*
|
||||
* @author Ayman Al-Sairafi
|
||||
*/
|
||||
public class LineNumbersRuler extends JPanel
|
||||
implements CaretListener, DocumentListener, PropertyChangeListener, SyntaxComponent {
|
||||
implements CaretListener, DocumentListener, PropertyChangeListener, SyntaxComponent {
|
||||
|
||||
public static final String PROPERTY_BACKGROUND = "LineNumbers.Background";
|
||||
public static final String PROPERTY_FOREGROUND = "LineNumbers.Foreground";
|
||||
public static final String PROPERTY_CURRENT_BACK = "LineNumbers.CurrentBack";
|
||||
public static final String PROPERTY_LEFT_MARGIN = "LineNumbers.LeftMargin";
|
||||
public static final String PROPERTY_RIGHT_MARGIN = "LineNumbers.RightMargin";
|
||||
public static final String PROPERTY_Y_OFFSET = "LineNumbers.YOFFset";
|
||||
public static final int DEFAULT_R_MARGIN = 5;
|
||||
public static final int DEFAULT_L_MARGIN = 5;
|
||||
private Status status;
|
||||
private final static int HEIGHT = Integer.MAX_VALUE - 1000000;
|
||||
// Text component this TextTextLineNumber component is in sync with
|
||||
private JEditorPane editor;
|
||||
private int minimumDisplayDigits = 2;
|
||||
// Keep history information to reduce the number of times the component
|
||||
// needs to be repainted
|
||||
private int lastDigits;
|
||||
private int lastHeight;
|
||||
private int lastLine;
|
||||
private MouseListener mouseListener = null;
|
||||
// The formatting to use for displaying numbers. Use in String.format(numbersFormat, line)
|
||||
private String numbersFormat = "%3d";
|
||||
public static final String PROPERTY_BACKGROUND = "LineNumbers.Background";
|
||||
public static final String PROPERTY_FOREGROUND = "LineNumbers.Foreground";
|
||||
public static final String PROPERTY_CURRENT_BACK = "LineNumbers.CurrentBack";
|
||||
public static final String PROPERTY_LEFT_MARGIN = "LineNumbers.LeftMargin";
|
||||
public static final String PROPERTY_RIGHT_MARGIN = "LineNumbers.RightMargin";
|
||||
public static final String PROPERTY_Y_OFFSET = "LineNumbers.YOFFset";
|
||||
public static final int DEFAULT_R_MARGIN = 5;
|
||||
public static final int DEFAULT_L_MARGIN = 5;
|
||||
private Status status;
|
||||
private final static int HEIGHT = Integer.MAX_VALUE - 1000000;
|
||||
// Text component this TextTextLineNumber component is in sync with
|
||||
private JEditorPane editor;
|
||||
private int minimumDisplayDigits = 2;
|
||||
// Keep history information to reduce the number of times the component
|
||||
// needs to be repainted
|
||||
private int lastDigits;
|
||||
private int lastHeight;
|
||||
private int lastLine;
|
||||
//JPEXS: private lowered to protected to allow replacing mouseListener
|
||||
protected MouseListener mouseListener = null;
|
||||
// The formatting to use for displaying numbers. Use in String.format(numbersFormat, line)
|
||||
private String numbersFormat = "%3d";
|
||||
|
||||
private Color currentLineColor;
|
||||
private Color currentLineColor;
|
||||
|
||||
/**
|
||||
* Get the JscrollPane that contains this EditorPane, or null if no
|
||||
* JScrollPane is the parent of this editor
|
||||
* @param editorPane
|
||||
* @return
|
||||
*/
|
||||
public JScrollPane getScrollPane(JTextComponent editorPane) {
|
||||
Container p = editorPane.getParent();
|
||||
while (p != null) {
|
||||
if (p instanceof JScrollPane) {
|
||||
return (JScrollPane) p;
|
||||
}
|
||||
p = p.getParent();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Get the JscrollPane that contains this EditorPane, or null if no
|
||||
* JScrollPane is the parent of this editor
|
||||
*
|
||||
* @param editorPane
|
||||
* @return
|
||||
*/
|
||||
public JScrollPane getScrollPane(JTextComponent editorPane) {
|
||||
Container p = editorPane.getParent();
|
||||
while (p != null) {
|
||||
if (p instanceof JScrollPane) {
|
||||
return (JScrollPane) p;
|
||||
}
|
||||
p = p.getParent();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void config(Configuration config) {
|
||||
int right = config.getInteger(PROPERTY_RIGHT_MARGIN, DEFAULT_R_MARGIN);
|
||||
int left = config.getInteger(PROPERTY_LEFT_MARGIN, DEFAULT_L_MARGIN);
|
||||
Color foreground = config.getColor(PROPERTY_FOREGROUND, Color.BLACK);
|
||||
setForeground(foreground);
|
||||
Color back = config.getColor(PROPERTY_BACKGROUND, Color.WHITE);
|
||||
setBackground(back);
|
||||
setBorder(BorderFactory.createEmptyBorder(0, left, 0, right));
|
||||
currentLineColor = config.getColor(PROPERTY_CURRENT_BACK, back);
|
||||
}
|
||||
@Override
|
||||
public void config(Configuration config) {
|
||||
int right = config.getInteger(PROPERTY_RIGHT_MARGIN, DEFAULT_R_MARGIN);
|
||||
int left = config.getInteger(PROPERTY_LEFT_MARGIN, DEFAULT_L_MARGIN);
|
||||
Color foreground = config.getColor(PROPERTY_FOREGROUND, Color.BLACK);
|
||||
setForeground(foreground);
|
||||
Color back = config.getColor(PROPERTY_BACKGROUND, Color.WHITE);
|
||||
setBackground(back);
|
||||
setBorder(BorderFactory.createEmptyBorder(0, left, 0, right));
|
||||
currentLineColor = config.getColor(PROPERTY_CURRENT_BACK, back);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void install(final JEditorPane editor) {
|
||||
this.editor = editor;
|
||||
@Override
|
||||
public void install(final JEditorPane editor) {
|
||||
this.editor = editor;
|
||||
|
||||
setFont(editor.getFont());
|
||||
setFont(editor.getFont());
|
||||
|
||||
// setMinimumDisplayDigits(3);
|
||||
// setMinimumDisplayDigits(3);
|
||||
editor.getDocument().addDocumentListener(this);
|
||||
editor.addCaretListener(this);
|
||||
editor.addPropertyChangeListener(this);
|
||||
JScrollPane sp = getScrollPane(editor);
|
||||
sp.setRowHeaderView(this);
|
||||
mouseListener = new MouseAdapter() {
|
||||
|
||||
editor.getDocument().addDocumentListener(this);
|
||||
editor.addCaretListener(this);
|
||||
editor.addPropertyChangeListener(this);
|
||||
JScrollPane sp = getScrollPane(editor);
|
||||
sp.setRowHeaderView(this);
|
||||
mouseListener = new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
GotoLineDialog.showForEditor(editor);
|
||||
}
|
||||
};
|
||||
addMouseListener(mouseListener);
|
||||
status = Status.INSTALLING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
GotoLineDialog.showForEditor(editor);
|
||||
}
|
||||
};
|
||||
addMouseListener(mouseListener);
|
||||
status = Status.INSTALLING;
|
||||
}
|
||||
@Override
|
||||
public void deinstall(JEditorPane editor) {
|
||||
removeMouseListener(mouseListener);
|
||||
status = Status.DEINSTALLING;
|
||||
editor.getDocument().removeDocumentListener(this);
|
||||
editor.removeCaretListener(this);
|
||||
editor.removePropertyChangeListener(this);
|
||||
JScrollPane sp = getScrollPane(editor);
|
||||
if (sp != null) {
|
||||
sp.setRowHeaderView(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deinstall(JEditorPane editor) {
|
||||
removeMouseListener(mouseListener);
|
||||
status = Status.DEINSTALLING;
|
||||
this.editor.getDocument().removeDocumentListener(this);
|
||||
editor.removeCaretListener(this);
|
||||
editor.removePropertyChangeListener(this);
|
||||
JScrollPane sp = getScrollPane(editor);
|
||||
if (sp != null) {
|
||||
editor.getDocument().removeDocumentListener(this);
|
||||
sp.setRowHeaderView(null);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Gets the minimum display digits
|
||||
*
|
||||
* @return the minimum display digits
|
||||
*/
|
||||
public int getMinimumDisplayDigits() {
|
||||
return minimumDisplayDigits;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the minimum display digits
|
||||
*
|
||||
* @return the minimum display digits
|
||||
*/
|
||||
public int getMinimumDisplayDigits() {
|
||||
return minimumDisplayDigits;
|
||||
}
|
||||
/**
|
||||
* Specify the minimum number of digits used to calculate the preferred
|
||||
* width of the component. Default is 3.
|
||||
*
|
||||
* @param minimumDisplayDigits the number digits used in the preferred width
|
||||
* calculation
|
||||
*/
|
||||
public void setMinimumDisplayDigits(int minimumDisplayDigits) {
|
||||
this.minimumDisplayDigits = minimumDisplayDigits;
|
||||
setPreferredWidth();
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify the minimum number of digits used to calculate the preferred
|
||||
* width of the component. Default is 3.
|
||||
*
|
||||
* @param minimumDisplayDigits the number digits used in the preferred
|
||||
* width calculation
|
||||
*/
|
||||
public void setMinimumDisplayDigits(int minimumDisplayDigits) {
|
||||
this.minimumDisplayDigits = minimumDisplayDigits;
|
||||
setPreferredWidth();
|
||||
}
|
||||
/**
|
||||
* Calculate the width needed to display the maximum line number
|
||||
*/
|
||||
private void setPreferredWidth() {
|
||||
int lines = ActionUtils.getLineCount(editor);
|
||||
int digits = Math.max(String.valueOf(lines).length(), minimumDisplayDigits);
|
||||
|
||||
/**
|
||||
* Calculate the width needed to display the maximum line number
|
||||
*/
|
||||
private void setPreferredWidth() {
|
||||
int lines = ActionUtils.getLineCount(editor);
|
||||
int digits = Math.max(String.valueOf(lines).length(), minimumDisplayDigits);
|
||||
// Update sizes when number of digits in the line number changes
|
||||
if (lastDigits != digits) {
|
||||
lastDigits = digits;
|
||||
numbersFormat = "%" + digits + "d";
|
||||
FontMetrics fontMetrics = getFontMetrics(getFont());
|
||||
int width = fontMetrics.charWidth('0') * digits;
|
||||
Insets insets = getInsets();
|
||||
int preferredWidth = insets.left + insets.right + width;
|
||||
|
||||
// Update sizes when number of digits in the line number changes
|
||||
Dimension d = getPreferredSize();
|
||||
d.setSize(preferredWidth, HEIGHT);
|
||||
setPreferredSize(d);
|
||||
setSize(d);
|
||||
|
||||
if (lastDigits != digits) {
|
||||
lastDigits = digits;
|
||||
numbersFormat = "%" + digits + "d";
|
||||
FontMetrics fontMetrics = getFontMetrics(getFont());
|
||||
int width = fontMetrics.charWidth('0') * digits;
|
||||
Insets insets = getInsets();
|
||||
int preferredWidth = insets.left + insets.right + width;
|
||||
}
|
||||
}
|
||||
|
||||
Dimension d = getPreferredSize();
|
||||
d.setSize(preferredWidth, HEIGHT);
|
||||
setPreferredSize(d);
|
||||
setSize(d);
|
||||
/**
|
||||
* Draw the line numbers
|
||||
*/
|
||||
@Override
|
||||
public void paintComponent(Graphics g) {
|
||||
super.paintComponent(g);
|
||||
|
||||
}
|
||||
}
|
||||
FontMetrics fontMetrics = editor.getFontMetrics(editor.getFont());
|
||||
Insets insets = getInsets();
|
||||
int currentLine = -1;
|
||||
try {
|
||||
// get current line, and add one as we start from 1 for the display
|
||||
currentLine = ActionUtils.getLineNumber(editor, editor.getCaretPosition()) + 1;
|
||||
} catch (BadLocationException ex) {
|
||||
// this wont happen, even if it does, we can ignore it and we will not have
|
||||
// a current line to worry about...
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw the line numbers
|
||||
*/
|
||||
@Override
|
||||
public void paintComponent(Graphics g) {
|
||||
super.paintComponent(g);
|
||||
int lh = fontMetrics.getHeight();
|
||||
int maxLines = ActionUtils.getLineCount(editor);
|
||||
SyntaxView.setRenderingHits((Graphics2D) g);
|
||||
|
||||
FontMetrics fontMetrics = editor.getFontMetrics(editor.getFont());
|
||||
Insets insets = getInsets();
|
||||
int currentLine = -1;
|
||||
try {
|
||||
// get current line, and add one as we start from 1 for the display
|
||||
currentLine = ActionUtils.getLineNumber(editor, editor.getCaretPosition()) + 1;
|
||||
} catch (BadLocationException ex) {
|
||||
// this wont happen, even if it does, we can ignore it and we will not have
|
||||
// a current line to worry about...
|
||||
}
|
||||
|
||||
int lh = fontMetrics.getHeight();
|
||||
int maxLines = ActionUtils.getLineCount(editor);
|
||||
SyntaxView.setRenderingHits((Graphics2D) g);
|
||||
|
||||
Rectangle bounds = g.getClipBounds();
|
||||
int minY = bounds.y;
|
||||
int maxY = minY + bounds.height;
|
||||
for (int line = 1; line <= maxLines; line++) {
|
||||
int y = line * lh;
|
||||
if (y < minY) {
|
||||
continue;
|
||||
}
|
||||
if (y - lh > maxY) {
|
||||
break;
|
||||
}
|
||||
String lineNumber = String.format(numbersFormat, line);
|
||||
if (line == currentLine) {
|
||||
g.setColor(currentLineColor);
|
||||
g.fillRect(0, y - lh + fontMetrics.getDescent() - 1, getWidth(), lh);
|
||||
g.setColor(getForeground());
|
||||
g.drawString(lineNumber, insets.left, y);
|
||||
} else {
|
||||
g.drawString(lineNumber, insets.left, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle bounds = g.getClipBounds();
|
||||
int minY = bounds.y;
|
||||
int maxY = minY + bounds.height;
|
||||
for (int line = 1; line <= maxLines; line++) {
|
||||
int y = line * lh;
|
||||
if (y < minY) {
|
||||
continue;
|
||||
}
|
||||
if (y - lh > maxY) {
|
||||
break;
|
||||
}
|
||||
String lineNumber = String.format(numbersFormat, line);
|
||||
if (line == currentLine) {
|
||||
g.setColor(currentLineColor);
|
||||
g.fillRect(0, y - lh + fontMetrics.getDescent() - 1, getWidth(), lh);
|
||||
g.setColor(getForeground());
|
||||
g.drawString(lineNumber, insets.left, y);
|
||||
} else {
|
||||
g.drawString(lineNumber, insets.left, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Implement CaretListener interface
|
||||
//
|
||||
@Override
|
||||
public void caretUpdate(CaretEvent e) {
|
||||
// Get the line the caret is positioned on
|
||||
@Override
|
||||
public void caretUpdate(CaretEvent e) {
|
||||
// Get the line the caret is positioned on
|
||||
|
||||
int caretPosition = editor.getCaretPosition();
|
||||
Element root = editor.getDocument().getDefaultRootElement();
|
||||
int currentLine = root.getElementIndex(caretPosition);
|
||||
int caretPosition = editor.getCaretPosition();
|
||||
Element root = editor.getDocument().getDefaultRootElement();
|
||||
int currentLine = root.getElementIndex(caretPosition);
|
||||
|
||||
// Need to repaint so the correct line number can be highlighted
|
||||
|
||||
if (lastLine != currentLine) {
|
||||
repaint();
|
||||
lastLine = currentLine;
|
||||
}
|
||||
}
|
||||
// Need to repaint so the correct line number can be highlighted
|
||||
if (lastLine != currentLine) {
|
||||
repaint();
|
||||
lastLine = currentLine;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Implement DocumentListener interface
|
||||
//
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
documentChanged();
|
||||
}
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
documentChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
documentChanged();
|
||||
}
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
documentChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
documentChanged();
|
||||
}
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
documentChanged();
|
||||
}
|
||||
|
||||
/*
|
||||
* A document change may affect the number of displayed lines of text.
|
||||
* Therefore the lines numbers will also change.
|
||||
*/
|
||||
private void documentChanged() {
|
||||
// Preferred size of the component has not been updated at the time
|
||||
// the DocumentEvent is fired
|
||||
/*
|
||||
* A document change may affect the number of displayed lines of text.
|
||||
* Therefore the lines numbers will also change.
|
||||
*/
|
||||
private void documentChanged() {
|
||||
// Preferred size of the component has not been updated at the time
|
||||
// the DocumentEvent is fired
|
||||
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
int preferredHeight = editor.getPreferredSize().height;
|
||||
@Override
|
||||
public void run() {
|
||||
int preferredHeight = editor.getPreferredSize().height;
|
||||
|
||||
// Document change has caused a change in the number of lines.
|
||||
// Repaint to reflect the new line numbers
|
||||
// Document change has caused a change in the number of lines.
|
||||
// Repaint to reflect the new line numbers
|
||||
if (lastHeight != preferredHeight) {
|
||||
setPreferredWidth();
|
||||
repaint();
|
||||
lastHeight = preferredHeight;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (lastHeight != preferredHeight) {
|
||||
setPreferredWidth();
|
||||
repaint();
|
||||
lastHeight = preferredHeight;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Implement PropertyChangeListener interface
|
||||
*/
|
||||
@Override
|
||||
public void propertyChange(PropertyChangeEvent evt) {
|
||||
if (evt.getPropertyName().equals("document")) {
|
||||
if (evt.getOldValue() instanceof SyntaxDocument) {
|
||||
SyntaxDocument syntaxDocument = (SyntaxDocument) evt.getOldValue();
|
||||
syntaxDocument.removeDocumentListener(this);
|
||||
}
|
||||
if (evt.getNewValue() instanceof SyntaxDocument && status.equals(Status.INSTALLING)) {
|
||||
SyntaxDocument syntaxDocument = (SyntaxDocument) evt.getNewValue();
|
||||
syntaxDocument.addDocumentListener(this);
|
||||
setPreferredWidth();
|
||||
repaint();
|
||||
}
|
||||
} else if (evt.getNewValue() instanceof Font) {
|
||||
setPreferredWidth();
|
||||
repaint();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Implement PropertyChangeListener interface
|
||||
*/
|
||||
@Override
|
||||
public void propertyChange(PropertyChangeEvent evt) {
|
||||
if (evt.getPropertyName().equals("document")) {
|
||||
if (evt.getOldValue() instanceof SyntaxDocument) {
|
||||
SyntaxDocument syntaxDocument = (SyntaxDocument) evt.getOldValue();
|
||||
syntaxDocument.removeDocumentListener(this);
|
||||
}
|
||||
if (evt.getNewValue() instanceof SyntaxDocument && status.equals(Status.INSTALLING)) {
|
||||
SyntaxDocument syntaxDocument = (SyntaxDocument) evt.getNewValue();
|
||||
syntaxDocument.addDocumentListener(this);
|
||||
setPreferredWidth();
|
||||
repaint();
|
||||
}
|
||||
} else if (evt.getNewValue() instanceof Font) {
|
||||
setPreferredWidth();
|
||||
repaint();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -1,24 +1,24 @@
|
||||
DefaultAction.copy-to-clipboard.MenuText = Kopieren
|
||||
DefaultAction.cut-to-clipboard.MenuText = Ausschneiden
|
||||
DefaultAction.paste-from-clipboard.MenuText = Einf\u00FCgen
|
||||
DefaultAction.select-all.MenuText = Alles ausw\u00E4hlen
|
||||
DefaultAction.paste-from-clipboard.MenuText = Einf\u00fcgen
|
||||
DefaultAction.select-all.MenuText = Alles ausw\u00e4hlen
|
||||
|
||||
Action.find.MenuText = Suchen
|
||||
Action.find.ToolTip = Suche anzeigen und Dialog ersetzen
|
||||
Action.find-next.MenuText = N\u00E4chstes suchen
|
||||
Action.find-next.MenuText = N\u00e4chstes suchen
|
||||
Action.find-next.ToolTip = Letzte Suche wiederholen
|
||||
Action.goto-line.MenuText = Zu Linienmummer gehen
|
||||
Action.goto-line.ToolTip = Zu Linienmummer gehen
|
||||
Action.indent.MenuText = Einzug
|
||||
Action.unindent.MenuText = Auszug
|
||||
Action.undo.MenuText = R\u00FCchg\u00E4ngig
|
||||
Action.undo.MenuText = R\u00fcchg\u00e4ngig
|
||||
Action.redo.MenuText = Wiederholen
|
||||
Action.delete-lines.MenuText = Linie(n) L\u00F6schen
|
||||
Action.delete-lines.MenuText = Linie(n) L\u00f6schen
|
||||
Action.dup-lines-up.MenuText = Obere Linie dublizieren
|
||||
Action.dup-lines-down.MenuText = Untere Linie dublizieren
|
||||
Action.toggle-lines.MenuText = Liniennummern umshalten
|
||||
Action.show-abbs.MenuText = Abk\u00FCrzungen anzeigen
|
||||
Action.show-abbs.ToolTip = Abk\u00FCrzungen anzeigen
|
||||
Action.show-abbs.MenuText = Abk\u00fcrzungen anzeigen
|
||||
Action.show-abbs.ToolTip = Abk\u00fcrzungen anzeigen
|
||||
Action.complete-word.MenuText = Wort komplettieren
|
||||
Action.jump-to-pair.MenuText = Gehe zum Paar
|
||||
Action.toggle-comments.MenuText = Kommentare umschalten
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
DefaultAction.copy-to-clipboard.MenuText = Kopi\u00EBren
|
||||
DefaultAction.copy-to-clipboard.MenuText = Kopi\u00ebren
|
||||
DefaultAction.cut-to-clipboard.MenuText = Snijden
|
||||
DefaultAction.paste-from-clipboard.MenuText = Plakken
|
||||
DefaultAction.select-all.MenuText = Alles selecteren
|
||||
|
||||
+4
-4
@@ -4,11 +4,11 @@ DefaultAction.paste-from-clipboard.MenuText = Colar
|
||||
DefaultAction.select-all.MenuText = Escolher tudo
|
||||
|
||||
Action.find.MenuText = Procurar
|
||||
Action.find.ToolTip = Mostrar procura e trocar diálogo
|
||||
Action.find.ToolTip = Mostrar procura e trocar di\u00c3\u00a1logo
|
||||
Action.find-next.MenuText = Procurar proximo
|
||||
Action.find-next.ToolTip = Repetir última procura
|
||||
Action.goto-line.MenuText = Ir para a linha número
|
||||
Action.goto-line.ToolTip = Ir para a linha número
|
||||
Action.find-next.ToolTip = Repetir \u00c3\u00baltima procura
|
||||
Action.goto-line.MenuText = Ir para a linha n\u00c3\u00bamero
|
||||
Action.goto-line.ToolTip = Ir para a linha n\u00c3\u00bamero
|
||||
Action.indent.MenuText = Indentar
|
||||
Action.unindent.MenuText = Des-identar
|
||||
Action.undo.MenuText = Voltar a tr\u00e1s
|
||||
|
||||
+9
-9
@@ -4,24 +4,24 @@ DefaultAction.paste-from-clipboard.MenuText = \u0412\u0441\u0442\u0430\u0432\u04
|
||||
DefaultAction.select-all.MenuText = \u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0441\u0451
|
||||
|
||||
Action.find.MenuText = \u041d\u0430\u0439\u0442\u0438
|
||||
Action.find.ToolTip = \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E \u041D\u0430\u0439\u0442\u0438 \u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C
|
||||
Action.find.ToolTip = \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u041d\u0430\u0439\u0442\u0438 \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c
|
||||
Action.find-next.MenuText = \u0418\u0441\u043a\u0430\u0442\u044c \u0434\u0430\u043b\u0435\u0435
|
||||
Action.find-next.ToolTip = \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u043e\u0438\u0441\u043a
|
||||
Action.goto-line.MenuText = \u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u0442\u0440\u043E\u043A\u0435
|
||||
Action.goto-line.MenuText = \u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u0442\u0440\u043e\u043a\u0435
|
||||
Action.goto-line.ToolTip = \u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c
|
||||
Action.indent.MenuText = \u041e\u0442\u0441\u0442\u0443\u043f\u0438\u0442\u044c
|
||||
Action.unindent.MenuText = \u0423\u0431\u0440\u0430\u0442\u044c \u043e\u0442\u0441\u0442\u0443\u043f
|
||||
Action.undo.MenuText = \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C
|
||||
Action.redo.MenuText = \u0412\u0435\u0440\u043D\u0443\u0442\u044C
|
||||
Action.delete-lines.MenuText = \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443(\u0441\u0442\u0440\u043E\u043A\u0438)
|
||||
Action.undo.MenuText = \u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c
|
||||
Action.redo.MenuText = \u0412\u0435\u0440\u043d\u0443\u0442\u044c
|
||||
Action.delete-lines.MenuText = \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443(\u0441\u0442\u0440\u043e\u043a\u0438)
|
||||
Action.dup-lines-up.MenuText = \u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u044b\u0448\u0435
|
||||
Action.dup-lines-down.MenuText = \u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0438\u0436\u0435
|
||||
Action.toggle-lines.MenuText = \u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a
|
||||
Action.show-abbs.MenuText = \u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f
|
||||
Action.show-abbs.ToolTip = \u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f
|
||||
Action.toggle-lines.MenuText = \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a
|
||||
Action.show-abbs.MenuText = \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f
|
||||
Action.show-abbs.ToolTip = \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f
|
||||
Action.complete-word.MenuText = \u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0441\u043b\u043e\u0432\u043e
|
||||
Action.jump-to-pair.MenuText = \u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043f\u0430\u0440\u0435
|
||||
Action.toggle-comments.MenuText = \u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438
|
||||
Action.toggle-comments.MenuText = \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438
|
||||
|
||||
# !!!! FFDec translators - please do not edit anything below this line !!!
|
||||
#==========================================================================
|
||||
|
||||
+21
-21
@@ -1,27 +1,27 @@
|
||||
DefaultAction.copy-to-clipboard.MenuText = \u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438
|
||||
DefaultAction.copy-to-clipboard.MenuText = \u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438
|
||||
DefaultAction.cut-to-clipboard.MenuText = \u0412\u0438\u0440\u0456\u0437\u0430\u0442\u0438
|
||||
DefaultAction.paste-from-clipboard.MenuText = \u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438
|
||||
DefaultAction.select-all.MenuText = \u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0432\u0441\u0435
|
||||
DefaultAction.select-all.MenuText = \u0412\u0438\u0434\u0456\u043b\u0438\u0442\u0438 \u0432\u0441\u0435
|
||||
|
||||
Action.find.MenuText = \u0417\u043D\u0430\u0439\u0442\u0438
|
||||
Action.find.ToolTip = \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0456\u043A\u043D\u043E \u0434\u0456\u0430\u043B\u043E\u0433\u0443 \u0417\u043D\u0430\u0439\u0442\u0438 \u0456 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438
|
||||
Action.find-next.MenuText = \u0428\u0443\u043A\u0430\u0442\u0438 \u0434\u0430\u043B\u0456
|
||||
Action.find-next.ToolTip = \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u043F\u043E\u0448\u0443\u043A
|
||||
Action.goto-line.MenuText = \u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u0440\u044F\u0434\u043A\u0430
|
||||
Action.goto-line.ToolTip = \u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u0440\u044F\u0434\u043A\u0430 \u0437\u0430 \u043D\u043E\u043C\u0435\u0440\u043E\u043C
|
||||
Action.indent.MenuText = \u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043F
|
||||
Action.unindent.MenuText = \u041F\u0440\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043F
|
||||
Action.undo.MenuText = \u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438
|
||||
Action.redo.MenuText = \u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438
|
||||
Action.delete-lines.MenuText = \u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0440\u044F\u0434\u043E\u043A(\u0440\u044F\u0434\u043A\u0438)
|
||||
Action.dup-lines-up.MenuText = \u0414\u0443\u0431\u043B\u044E\u0432\u0430\u0442\u0438 \u0440\u044F\u0434\u043A\u0438 \u0432\u0438\u0449\u0435
|
||||
Action.dup-lines-down.MenuText = \u0414\u0443\u0431\u043B\u044E\u0432\u0430\u0442\u0438 \u0440\u044F\u0434\u043A\u0438 \u043D\u0438\u0436\u0447\u0435
|
||||
Action.toggle-lines.MenuText = \u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u043D\u0443\u043C\u0435\u0440\u0430\u0446\u0456\u044E \u0440\u044F\u0434\u043A\u0456\u0432
|
||||
Action.show-abbs.MenuText = \u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u043A\u043E\u0440\u043E\u0447\u0435\u043D\u043D\u044F
|
||||
Action.show-abbs.ToolTip = \u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u043A\u043E\u0440\u043E\u0447\u0435\u043D\u043D\u044F
|
||||
Action.complete-word.MenuText = \u0414\u043E\u043F\u043E\u0432\u043D\u0438\u0442\u0438 \u0441\u043B\u043E\u0432\u043E
|
||||
Action.jump-to-pair.MenuText = \u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u043F\u0430\u0440\u0438
|
||||
Action.toggle-comments.MenuText = \u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\u0456
|
||||
Action.find.MenuText = \u0417\u043d\u0430\u0439\u0442\u0438
|
||||
Action.find.ToolTip = \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0432\u0456\u043a\u043d\u043e \u0434\u0456\u0430\u043b\u043e\u0433\u0443 \u0417\u043d\u0430\u0439\u0442\u0438 \u0456 \u0437\u0430\u043c\u0456\u043d\u0438\u0442\u0438
|
||||
Action.find-next.MenuText = \u0428\u0443\u043a\u0430\u0442\u0438 \u0434\u0430\u043b\u0456
|
||||
Action.find-next.ToolTip = \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0438 \u043e\u0441\u0442\u0430\u043d\u043d\u0456\u0439 \u043f\u043e\u0448\u0443\u043a
|
||||
Action.goto-line.MenuText = \u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043e \u0440\u044f\u0434\u043a\u0430
|
||||
Action.goto-line.ToolTip = \u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043e \u0440\u044f\u0434\u043a\u0430 \u0437\u0430 \u043d\u043e\u043c\u0435\u0440\u043e\u043c
|
||||
Action.indent.MenuText = \u0417\u0440\u043e\u0431\u0438\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043f
|
||||
Action.unindent.MenuText = \u041f\u0440\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043f
|
||||
Action.undo.MenuText = \u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438
|
||||
Action.redo.MenuText = \u041f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u0438
|
||||
Action.delete-lines.MenuText = \u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0440\u044f\u0434\u043e\u043a(\u0440\u044f\u0434\u043a\u0438)
|
||||
Action.dup-lines-up.MenuText = \u0414\u0443\u0431\u043b\u044e\u0432\u0430\u0442\u0438 \u0440\u044f\u0434\u043a\u0438 \u0432\u0438\u0449\u0435
|
||||
Action.dup-lines-down.MenuText = \u0414\u0443\u0431\u043b\u044e\u0432\u0430\u0442\u0438 \u0440\u044f\u0434\u043a\u0438 \u043d\u0438\u0436\u0447\u0435
|
||||
Action.toggle-lines.MenuText = \u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0456\u044e \u0440\u044f\u0434\u043a\u0456\u0432
|
||||
Action.show-abbs.MenuText = \u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u043a\u043e\u0440\u043e\u0447\u0435\u043d\u043d\u044f
|
||||
Action.show-abbs.ToolTip = \u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u043a\u043e\u0440\u043e\u0447\u0435\u043d\u043d\u044f
|
||||
Action.complete-word.MenuText = \u0414\u043e\u043f\u043e\u0432\u043d\u0438\u0442\u0438 \u0441\u043b\u043e\u0432\u043e
|
||||
Action.jump-to-pair.MenuText = \u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043e \u043f\u0430\u0440\u0438
|
||||
Action.toggle-comments.MenuText = \u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0456
|
||||
|
||||
# !!!! FFDec translators - please do not edit anything below this line !!!
|
||||
#==========================================================================
|
||||
|
||||
+2
@@ -2,6 +2,8 @@
|
||||
# ActionScript
|
||||
#
|
||||
|
||||
Components = jsyntaxpane.components.PairsMarker, jsyntaxpane.components.LineNumbersBreakpointsRuler
|
||||
|
||||
Action.indent.WordRegex=\\w+|\\/(\\*)+
|
||||
Action.parenthesis = jsyntaxpane.actions.PairAction, typed (
|
||||
Action.brackets = jsyntaxpane.actions.PairAction, typed [
|
||||
|
||||
Reference in New Issue
Block a user